【Centos8 环境下 X86 版本 docker-29.1.3 的安装配置】

Centos8 环境下 X86 版本 docker-29.1.3 的安装配置

注意看我的标题!!!!我这是针对 X86 版本的 docker-29.1.3 离线安装,千万注意IP地址改为自己的

一、下载离线安装包

1、下载

docker-29.1.3 下载地址

2、将下载后的文件上传到 /usr/local 文件夹下

  • 使用 windows Terminal 工具。 语法: scp 【本地文件地址】 【服务器账号】@【服务器IP地址】:/usr/local/
shell 复制代码
scp D:/Downloads/docker-29.1.3.tgz root@100.110.111.108:/usr/local/

二、解压操作文件

1、远程登录服务器

shell 复制代码
ssh root@100.110.111.108

2、进入目录解压 tar.gz

shell 复制代码
cd /usr/local/
shell 复制代码
tar -zxvf docker-29.1.3.tgz  -C /usr/local/

三、安装

1、配置环境变量

修改配置文件
shell 复制代码
vim /etc/profile
按一下键盘字母i进行编辑
输入以下内容:
shell 复制代码
DOCKER_HOME=/usr/local/docker
PATH=$PATH:$DOCKER_HOME
export DOCKER_HOME
按一下esc键 退出编辑
:wq 保存退出
修改立即生效:
shell 复制代码
source /etc/profile

2、创建配置文件

创建文件夹
shell 复制代码
mkdir -p /etc/docker
创建文件
shell 复制代码
touch /etc/docker/daemon.json
编辑文件
shell 复制代码
vim /etc/docker/daemon.json
按一下键盘字母i进行编辑
输入以下内容:
复制代码
{
    "userland-proxy-path": "/usr/local/docker/docker-proxy",
	"storage-driver": "overlay2",
    "data-root": "/usr/local/docker/docker-data",
    "registry-mirrors": [
        "https://docker.1ms.run",
        "https://docker.xuanyuan.me",
		"https://docker.mirrors.tuna.tsinghua.edu.cn"
    ],
	"hosts": [
		"unix:///var/run/docker.sock",
		"tcp://0.0.0.0:6732"
	],
	"tls": true,
	"tlsverify": true,
	"tlscacert": "/usr/local/docker/cert/ca.pem",
	"tlscert": "/usr/local/docker/cert/server-cert.pem",
	"tlskey": "/usr/local/docker/cert/server-key.pem",
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "10m",
        "max-file": "3"
    },
    "live-restore": true
}
  • docker-proxy 用于实现 Docker 容器端口映射时的用户态代理
  • storage-driver Docker 数据存储存动类型
  • data-root Docker 数据存储目录
  • registry-mirrors Docker 镜像仓库
  • hosts 定义 Docker 守护进程监听的端点
  • hosts.unix 本地 Unix 套接字,供同一主机上的客户端(如 docker 命令)使用
  • hosts.tcp 监听所有网络接口的 TCP 6732 端口,允许远程客户端连接
  • tls 启用 TLS(传输层安全),表示使用加密通信。
  • tlsverify 启用客户端验证,强制客户端必须提供有效证书
  • tlscacert 指定 CA 证书路径,用于验证客户端证书的签发者。该 CA 必须与客户端证书的签发 CA 一致。
  • tlscert 服务器端证书,用于向客户端证明自己的身份。
  • tlskey 服务器端私钥,用于 TLS 握手时解密数据
  • log-driver 日志存储为 JSON 文件
  • log-opts.max-size 单个日志文件最大 10MB
  • log-opts.max-file 最多保留 3 个日志文件
  • live-restore 更新daemon.json配置文件时,自动加载配置,不用重新启动Docker
按一下esc键 退出编辑
:wq 保存退出

3、测试是否安装成功

shell 复制代码
docker -v
shell 复制代码
docker version
  • 创建日志文件夹
shell 复制代码
mkdir -p /usr/local/docker/log

4、配置远程连接加密证书

创建文件
shell 复制代码
touch /usr/local/docker/create_certificate.sh
编辑文件
shell 复制代码
vim /usr/local/docker/create_certificate.sh
按一下键盘字母i进行编辑
输入以下内容:
shell 复制代码
#!/bin/sh
# 服务器IP
ip=
# 证书密码
password=
# 证书生成位置
dir=/usr/local/docker/cert
# 证书有效期10年
validity_period=10

# 将此 shell 脚本在安装 docker 的机器上执行,作用是生成 docker 远程连接加密证书
if [ ! -d "$dir" ]; then
  echo ""
  echo "$dir , not dir , will create"
  echo ""
  mkdir -p $dir
else
  echo ""
  echo "$dir , dir exist , will delete and create"
  echo ""
  rm -rf $dir
  mkdir -p $dir
fi

cd $dir || exit
# 创建根证书RSA私钥
openssl genrsa -aes256 -passout pass:"$password" -out ca-key.pem 4096
# 创建CA证书
openssl req -new -x509 -days $validity_period -key ca-key.pem -passin pass:"$password" -sha256 -out ca.pem -subj "/C=NL/ST=./L=./O=./CN=$ip"
# 创建服务端私钥
openssl genrsa -out server-key.pem 4096
# 创建服务端签名请求证书文件
openssl req -subj "/CN=$ip" -sha256 -new -key server-key.pem -out server.csr

echo subjectAltName = IP:$ip,IP:0.0.0.0 >>extfile.cnf

echo extendedKeyUsage = serverAuth >>extfile.cnf
# 创建签名生效的服务端证书文件
openssl x509 -req -days $validity_period -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:$password" -CAcreateserial -out server-cert.pem -extfile extfile.cnf
# 创建客户端私钥
openssl genrsa -out key.pem 4096
# 创建客户端签名请求证书文件
openssl req -subj '/CN=client' -new -key key.pem -out client.csr

echo extendedKeyUsage = clientAuth >>extfile.cnf

echo extendedKeyUsage = clientAuth >extfile-client.cnf
# 创建签名生效的客户端证书文件
openssl x509 -req -days $validity_period -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -passin "pass:$password" -CAcreateserial -out cert.pem -extfile extfile-client.cnf
# 删除多余文件
rm -f -v client.csr server.csr extfile.cnf extfile-client.cnf

# 防止密钥文件被误删或者损坏,改变文件权限,让它只读
chmod -v 0400 ca-key.pem key.pem server-key.pem

# 防止证书损坏,改变文件权限,让它只读
chmod -v 0444 ca.pem server-cert.pem cert.pem
按一下esc键 退出编辑
:wq 保存退出
赋权
shell 复制代码
chmod 777 /usr/local/docker/create_certificate.sh
切换文件夹
shell 复制代码
cd /usr/local/docker/
执行并生成密钥
shell 复制代码
./create_certificate.sh

5、编写 docker.service 文件加入 Linux 服务 当中并开启守护进程

shell 复制代码
vim /etc/systemd/system/docker.service
按一下键盘字母 i 进行编辑
输入以下内容:
复制代码
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
 
[Service]
Environment="PATH=/usr/local/docker:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
Type=notify
ExecStart=/usr/local/docker/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target
按一下esc键 退出编辑
:wq 保存退出
添加文件可执行权限
Shell 复制代码
chmod +x /etc/systemd/system/docker.service
重新加载 daemon 服务
shell 复制代码
sudo systemctl daemon-reload
查看 docker.service 服务是否在服务配置中
shell 复制代码
sudo systemctl status docker.service

6、快捷启动与关闭

启动
shell 复制代码
sudo systemctl start docker.service
关闭
shell 复制代码
sudo systemctl stop docker.service
重启
shell 复制代码
sudo systemctl restart docker.service
查看状态
shell 复制代码
sudo systemctl status docker.service

6、重启计算机

shell 复制代码
shutdown -r now
远程登录服务器
shell 复制代码
ssh root@100.110.111.102
验证是否安全启动
shell 复制代码
sudo systemctl status docker.service
shell 复制代码
ss -tuln | grep 6732
shell 复制代码
docker -H 100.110.111.108:6732 ps

7、防火墙端口开放

查看防火墙状态
shell 复制代码
firewall-cmd --state
开启防火墙
shell 复制代码
systemctl start firewalld
Add 添加开放端口
shell 复制代码
firewall-cmd --permanent --zone=public --add-port=6732/tcp
Reload 重新加载
shell 复制代码
firewall-cmd --reload
检查是否生效
shell 复制代码
firewall-cmd --zone=public --query-port=6732/tcp

8、使用 IDEA 的 Docker 插件 远程链接

开黑窗口下载生成的密钥文件
  • 使用 windows Terminal 工具。 语法: scp 【服务器账号】@【服务器IP地址】:"【文件1】 【文件2】 【...】" 【本地目录】
shell 复制代码
scp root@100.110.111.108:/usr/local/docker/cert/ca.pem D:\Downloads\
shell 复制代码
scp root@100.110.111.108:/usr/local/docker/cert/cert.pem D:\Downloads\
shell 复制代码
scp root@100.110.111.108:/usr/local/docker/cert/key.pem D:\Downloads\
  • 这三个文件一定要放到同一个文件夹下
下载合适的 Docker 执行文件
配置 IDEA
相关推荐
正经教主几秒前
【docker基础】第三课:镜像管理与Dockerfile基础
运维·docker·容器
老虎06273 分钟前
Nginx
运维·nginx
loriloy5 分钟前
Docker 部署 Docmost 详细教程
docker·docmost
阿沁QWQ5 分钟前
docker使用
docker·容器·perl
lwx9148528 小时前
Linux-特殊权限SUID,SGID,SBIT
linux·运维·服务器
炘爚9 小时前
深入解析printf缓冲区与fork进程复制机制
linux·运维·算法
workflower9 小时前
注塑机行业目前自动化现状分析
运维·人工智能·语言模型·自动化·集成测试·软件工程·软件需求
小义_10 小时前
随笔 3(Linux)
linux·运维·服务器·云原生·红帽
杨浦老苏10 小时前
开源的AI编程工作站HolyClaude
人工智能·docker·ai·编辑器·开发·群晖
#六脉神剑10 小时前
MySQL参数调优:十个关键参数助力数据库性能数倍提升
运维·mysql