docker 配置遠端連線 使用證書 使用指令碼

2021-10-09 05:00:26 字數 2772 閱讀 9810

系統:centos7

docker:1.13.1

使用步驟:

1.右鍵編輯指令碼,修改ip,password,dir三個變數值

— —  ip是ip,password是建立證書過程中用到的密碼,dir是存放證書的目錄。

2.執行指令碼: sh dk_link.sh

3.修改docker配置檔案 /lib/systemd/system/docker.service , 搜尋execstart

execstart屬性上新增:

--tlsverify --tlscacert=/a_software/ca/docker/a_tmp_001/ca.pem --tlscert=/a_software/ca/docker/a_tmp_001/server-cert.pem --tlskey=/a_software/ca/docker/a_tmp_001/server-key.pem -h tcp: -h unix:///var/run/docker.sock
檔案路徑和埠都可以更改。

效果圖:

4.重啟docker

systemctl daemon-reload

systemctl restart docker

指令碼位址

藍奏雲:

原始碼:

#!/bin/sh

ip=127.0.0.1

password=test

dir=/a_software/ca/docker/a_tmp_001

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

ficd $dir

openssl genrsa -aes256 -passout pass:$password -out ca-key.pem 4096

openssl req -new -x509 -days 365 -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 365 -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 365 -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

/lib/systemd/system/docker.service

execstart=/usr/bin/dockerd -h fd:// --containerd=/run/containerd/containerd.sock \

--tlsverify \

--tlscacert=/a_soft/ca/docker/ca.pem \

--tlscert=/a_soft/ca/docker/server-cert.pem \

--tlskey=/a_soft/ca/docker/server-key.pem \

-h tcp: \

-h unix:///var/run/docker.sock

使用Pycharm遠端連線docker容器

既然你搜到我這篇文章,那麼配置遠端連線伺服器 宿主機 應該不是問題,如果沒有配置過可以參考 這篇部落格pycharm如何配置連線遠端伺服器 首先你要有乙個映象,執行的時候使用指令 需要對映乙個埠用於sftp,此處用1234 docker run v data guacamole var log gu...

hive使用beeline配置遠端連線

hive以hadoop集群為基礎,提供hdfs的sql支援 介紹hive的遠端訪問 未配置之前使用beeline的話,每次都要為連線輸入使用者名稱密碼,較為麻煩 實現目標 在非集群節點上敲beeline命令,直接進入到hive的命令列 1,在hive服務的安裝節點的hive site.xml配置檔案...

mysql配置連線遠端 MySql配置遠端訪問

我現在有兩個伺服器,ip位址分別是192.168.250.1和192.168.250.10,我現在要從192.168.250.1這台伺服器登入到192.168.250.10這台伺服器,直接登入時碰到乙個問題 host mpi01 is not allowed to connect to this m...