目录
启动Docker
编辑
建立 Docker 用户
编辑
测试 Docker 是否正常工作
卸载Docker
Docker镜像加速器配置
配置镜像
检查加速器是否生效
如何在Linux中的.json文件下保存并退出
如果我是使用vi操作进来的,我该如何保存并退出呢?
如何在Linux系统下删除deamon.json文件
检查加速器是否生效
云服务商
Docker远程访问
开启访问
Docker远程访问是为了干什么?
安全认证
配置Docker支持TLS
客户端访问
启动Docker
# 启动Docker命令
systemctl start docker
# 查看启动结果
systemctl status docker
建立 Docker 用户
# 创建一个docker用户
useradd mydocker
# 将用户加入到docker组
usermod -aG docker mydocker
# 给用户设置密码
passwd mydocker
# 查看是否正确修改组成功
id mydocker
# 看到类似的输出 uid=1001(mydocker) gid=1001(mydocker) 组
=1001(mydocker),993(docker)
测试 Docker 是否正常工作
# 切换到mydocker用户
su mydocker
# 执行测试命令
docker run hello-world
若能正常输出以上信息,则说明安装成功并且说明docker能够正常运行。
默认配置下,如果在 CentOS 使用 Docker CE 看到下面的这些警告信息:
请添加内核配置参数以启用这些功能,需要使用root用户
# 切换回管理员
sudo -s
# 启动功能命令
tee -a /etc/sysctl.conf < -EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
# 重新加载配置
sysctl -p
卸载Docker
如果你想要卸载Docker引擎,可以执行下面的命令
yum remove docker-ce \
docker-ce-cli \
containerd.io \
docker-compose-plugin
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
您必须手动删除任何已编辑的配置文件。
Docker镜像加速器配置
配置镜像
在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件
)
#如果文件不存在 新建文件
touch daemon.json
# 编辑文件 vi daemon.json 添加{}下面的内容
{
"registry-mirrors": [
"https: hub-mirror.c.163.com",
"https: mirror.baidubce.com",
"http: f1361db2.m.daocloud.io",
"https: registry.docker-cn.com"
]
}
下面错了,一定要带大括号!一定要带大括号!一定要带大括号!
# 重新加载配置
systemctl daemon-reload
# 重启docker服务
systemctl restart docker
# 查看docker状态
systemctl status docker
检查加速器是否生效
如何在Linux中的.json文件下保存并退出
在Linux中保存并退出.json文件的步骤如下:
-
打开终端并进入包含.json文件的目录。
-
使用文本编辑器打开.json文件。例如,使用nano编辑器:
nano file.json
-
进行必要的更改。
-
按下
Ctrl + O
以保存文件。 -
按下
Ctrl + X
退出编辑器。
现在,您的更改已经保存在.json文件中。
如果我是使用vi操作进来的,我该如何保存并退出呢?
如果您正在使用vi
编辑器进行编辑,可以按下Esc键退出编辑模式,并按下:wq
命令保存并退出文件。具体步骤如下:
- 按下i键进入编辑模式,开始编辑文件。
- 编辑完毕后,按下Esc键退出编辑模式。
- 输入
:wq
命令保存并退出文件。注意,冒号是必须的。 - 按下回车键,文件将被保存并退出编辑器。
如果您只是想退出编辑器而不保存更改,可以按下Esc键进入命令模式,并按下:q!
命令强制退出不保存更改。
如何在Linux系统下删除deamon.json文件
rm
命令删除
deamon.json
文件。打开终端并输入以下命令:
sudo rm /etc/docker/daemon.json
请注意,使用sudo
命令需要管理员权限,以便在系统中执行此操作。
# 重新加载配置
systemctl daemon-reload
# 重启docker服务
systemctl restart docker
# 查看docker状态
systemctl status docker
检查加速器是否生效
云服务商
Docker远程访问
开启访问
systemctl edit docker.service
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd: -H tcp: 192.168.220.128:2375 containerd=/run/containerd/containerd.sock
Docker远程访问是为了干什么?
Docker远程访问是为了让用户可以从本地或其他机器远程连接到运行Docker的服务器,以便管理和操作Docker容器和镜像。通过远程访问,用户可以通过网络访问Docker API,从而执行各种操作,如启动、停止、重启容器,上传或下载镜像等。这样可以方便地在多个机器之间共享容器和镜像,同时也提高了Docker的灵活性和可移植性。
systemctl daemon-reload
systemctl restart docker
netstat -lntp | grep dockerd
开放防火墙端口
# 开放端口
firewall-cmd --add-port=2375/tcp --permanent
# 重新加载防火墙
firewall-cmd --reload
安全认证
mkdir /home/docker-ca && cd /home/docker-ca
openssl genrsa -aes256 -out ca-key.pem 4096
openssl req -new -x509 -days 365 -key ca-key.pem \
-sha256 -subj "/CN=*" -out ca.pem
openssl genrsa -out server-key.pem 4096
创建服务端证书签名请求文件,用于CA证书给服务端证书签名,生成文件server.csr
openssl req -subj "/CN=*" -sha256 -new \
-key server-key.pem -out server.csr
创建CA证书签名好的服务端证书,期间需要输入CA证书私钥密码,生成文件为server-cert.pem
openssl x509 -req -days 365 -sha256 -in server.csr \
-CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem
创建客户端私钥,生成文件为key.pem
openssl genrsa -out key.pem 4096
创建客户端证书签名请求文件,用于CA证书给客户证书签名,生成文件client.csr
openssl req -subj "/CN=client" -new -key key.pem -out client.csr
为了让秘钥适合客户端认证,创建一个扩展配置文件extfile-client.cnf
echo extendedKeyUsage = clientAuth > extfile-client.cnf
创建CA证书签名好的客户端证书,期间需要输入CA证书私钥密码,生成文件为cert.pem
openssl x509 -req -days 365 -sha256 -in client.csr \
-CA ca.pem -CAkey ca-key.pem -CAcreateserial \
-out cert.pem -extfile extfile-client.cnf
删除创建过程中多余的文件
rm -rf ca.srl server.csr client.csr extfile-client.cnf
配置Docker支持TLS
systemctl edit docker.service
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://192.168.83.130:2375 --
containerd=/run/containerd/containerd.sock --tlsverify --tlscacert=/home/docker-
ca/ca.pem --tlscert=/home/docker-ca/server-cert.pem --tlskey=/home/docker-
ca/server-key.pem
systemctl daemon-reload
systemctl restart docker
客户端访问
记住这个位置,后面打包部署的时候需要指定改目录的,具体使用我们在打包部署的时候会用到。
scp root@192.168.83.130:/home/docker-ca/ca.pem root@192.168.83.130:/home/docker-ca/cert.pem root@192.168.83.130:/home/docker-ca/key.pem D:\Workspace\docker-ca
哎呦,我滴个乖乖,真是快没有把我累死
就离谱,之前删除vmware的时候没有删干净,可倒好,我打开控制面板,网络连接,虚拟机的适配器都没有了,太离谱!
之后下那个ccleaner,找来找去,看了一篇大佬的博客才把问题解决
解决本机网络适配器中没有虚拟网卡VMnet1、VMnet8_如何在物理机中看到虚拟网络1和虚拟网络8_BK_小小关的博客-CSDN博客
终于是把xftp给链接上了
可算是把这三位爷都弄进去了