centos配置docker及idea配置docker

centos配置docker及idea配置docker

注:配置docker的时候参考了这篇文章: 链接,但是有部分环节的配置在自己服务器无法实现,经过多方查询终于配置成功,这里记录下完整的过程。方便以后二次配置和他人查看,如有不对的地方可以评论区指教一下。

Tips:为了防止干扰,本次使用腾讯云上新装的centos系统,版本8.2

0、安装docker

安装docker:

curl -sSL https://get.daocloud.io/docker | shv

确认是否安装成功,直接输入docker:

docker

1、设置主机名

编辑/etc/hostname,服务器主机名 192.168.179.133
(后续访问会用到,考虑有些服务器没配域名,还是用ip访问省力,这里就改成自己ip)

vi /etc/hostname

2、生成TLS证书

创建证书生成脚本 cert.sh,放置/script目录

mkdir -p /script /data/cert/docker
touch /script/cert.sh
vim /script/cert.sh

cert.sh添加内容

(原链接的文章在“IP:0.0.0.0”后面没加“,IP:192.168.179.133”,后续idea在连接docker的时候会抛错,这里加上自己IP保险点)


#!/bin/bash
set -e
if [ -z $1 ];then
        echo "请输入Docker服务器主机名"
        exit 0
fi
HOST=$1
mkdir -p /data/cert/docker
cd /data/cert/docker
openssl genrsa -aes256 -out ca-key.pem 4096
openssl req -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem
openssl genrsa -out server-key.pem 4096
openssl req -subj "/CN=$HOST" -sha256 -new -key server-key.pem -out server.csr
# 配置白名单,推荐配置0.0.0.0,允许所有IP连接但只有证书才可以连接成功
echo subjectAltName = DNS:$HOST,IP:0.0.0.0,IP:192.168.179.133 > extfile.cnf
openssl x509 -req -days 365 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -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
openssl x509 -req -days 365 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf
rm -v client.csr server.csr
chmod -v 0400 ca-key.pem key.pem server-key.pem
chmod -v 0444 ca.pem server-cert.pem cert.pem

执行 cert.sh 脚本,生成证书放置 /data/cert/docker 目录中

# 192.168.179.133是第一步配置的服务器的主机名
sh /script/cert.sh 192.168.179.133

按照提示输入相关信息,密码一致就行,其他信息可留空,等脚本指定完成之后,可在 /data/cert/docker 目录查看到生成的证书。

3、配置Docker启用TLS

vim /usr/lib/systemd/system/docker.service

在ExecStart属性后追加
(原文章在第一行和第二行的“ExecStart=/usr/bin/dockerd”和“–tlsverify”之间没加“\”,重启docker会失败,检测2376端口会显示没有程序占用)


ExecStart=/usr/bin/dockerd \
--tlsverify \
--tlscacert=/data/cert/docker/ca.pem  \
--tlscert=/data/cert/docker/server-cert.pem \
--tlskey=/data/cert/docker/server-key.pem \
-H tcp://0.0.0.0:2376 \
-H unix://var/run/docker.sock 

重新加载docker配置后重启

systemctl daemon-reload 
systemctl restart docker

查看2376端口是否启动

netstat -nltp | grep 2376

本地连接测试Docker API是否可用

没有指定证书访问测试

curl https://192.168.179.133:2376/info 

指定证书访问测试

curl https://192.168.179.133:2376/info --cert /data/cert/docker/cert.pem --key /data/cert/docker/key.pem --cacert /data/cert/docker/ca.pem

生成的证书文件夹的位置:/data/cert/docker

4、 IDEA配置

将客户端所需的ca.pem、cert.pem、key.pem3个密钥文件从服务器下载到本地
IDEA连接Docker配置修改,这里保险点全下过来,文件夹放项目里面。

点击Run>Edit Configurations打开配置页面
在这里插入图片描述

在这里插入图片描述
然后idea的路径指向这里

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彷徨灬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值