日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker远程TLS管理

發(fā)布時(shí)間:2024/1/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker远程TLS管理 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先介紹一個(gè)好用的Docker管理軟件,Portainer,好用便捷,讓你輕松無壓力的管理Docker環(huán)境。

我們不會只有一個(gè)Docker服務(wù),一般都是多個(gè)Docker服務(wù),這個(gè)時(shí)候需要中心化管理多個(gè)Docker服務(wù),這在Potainer中即添加新的入口點(diǎn)。默認(rèn)情況下Docker是不開啟遠(yuǎn)程訪問的。需要進(jìn)行一些配置,下面演示下如何配置Docker的遠(yuǎn)程訪問,與安全的Docker訪問。

演示

簡單配置

  • 直接開啟遠(yuǎn)程訪問,無安全措施。
  • dockerd -H 0.0.0.0 #監(jiān)聽所有tcp連接,默認(rèn)端口是6375
  • 在systemd下,則需要修改docker.service,修改Service部分的ExecStart。
  • ExecStart=/usr/bin/dockerd -H 0.0.0.0
  • 然后任何人都可以直接訪問Docker的端口,很不安全。
  • 安全的Docker訪問

    創(chuàng)建CA,Server和客戶端key通過openssl. 自建CA,我們需要對openssl進(jìn)行一些配置。

  • 找到openssl.conf配置文件進(jìn)行配置。
    在CentOS下,openssl.conf位于/etc/pki/tls/,在Mac下,通過brew安裝的則位于/usr/local/etc/openssl/下。

  • 編輯openssl.conf的CA部分


    openssl.conf CA部分
  • 確保你配置的目錄下,有你準(zhǔn)備好的目錄。

    mkdir -p {certs,private,tls,crl,newcerts} echo 00 > serial #注意serial要有數(shù)字,不然會報(bào)錯(cuò) touch index.txt
  • 生成私鑰,并自簽證書
    參考配置文件的位置,配置文件中的private_key和certificate位置。
  • openssl genrsa -out private/cakey.pem -des 1024 openssl req -new -x509 -key private/cakey.pem -days 3650 -out cacert.pem ... 需要填寫一些資料,國家,省份什么的。
  • 頒發(fā)證書
    4.1 生成要頒發(fā)證書的密鑰文件,這個(gè)可以在任何主機(jī)上操作,我們已經(jīng)自簽了CA。
  • openssl genrsa -out private/test.key 1024

    4.2 生成證書請求

    openssl req -new -key private/test.key -days 365 -out test.csr

    4.3 頒發(fā)證書

    openssl ca -in test.csr -out certs/test.crt -days 365 ... 填寫國家省份什么的,注意配置文件里面有規(guī)定至少和CA證書的國家,省份等必須要要有幾項(xiàng)一致的。
  • 將CA證書,頒發(fā)的證書,私鑰保存起來使用。比如在剛才的Docker配置中,加密的Docker訪問方式。
  • /usr/bin/dockerd --tls --tlscacert=/home/data/cert/cacert.pem \ --tlscert=/home/data/cert/certs/test.crt \ --tlskey=/home/data/cert/private/test.key \ -H 0.0.0.0:2376
  • 測試Docker訪問。
    注意:這里的00.pem就是剛才生成的test.crt
  • curl -k https://localhost:2376/images/json \ --cert /home/data/cert/cacert.pem \ --key /home/data/cert/private/test.key \ --cert /home/data/cert/newcerts/00.pem | jq Curl訪問Docker
  • 配置docker訪問
  • mkdir -pv ~/.docker #cp -v {ca,cert,key}.pem ~/.docker cp /home/data/cert/cacert.pem ~/.docer/ca.pem cp /home/data/cert/private/test.key ~/.docer/key.pem cp /home/data/cert/newcerts/00.pem ~/.docer/cert.pem export DOCKER_HOST=tcp://$HOST:2376 DOCKER_TLS_VERIFY=1
  • 在portcaniner中配置新的endpoint
    剛才的CA證書,服務(wù)器證書,服務(wù)器密鑰都有了,可以直接使用


    portaniner配置
  • 看結(jié)果


    image.png
  • 總結(jié)

    服務(wù)器的安全是一個(gè)很重要的技能,關(guān)于安全方面的還可以繼續(xù)加強(qiáng)。這篇文章主要介紹了如何配置Docker來使用portainer遠(yuǎn)程管理Docker,然后介紹了安全的方式配置Docker與管理Docker。

    附錄

    • Protect the Docker daemon socket
    • Portainer
    當(dāng)時(shí)的命令記錄

    總結(jié)

    以上是生活随笔為你收集整理的Docker远程TLS管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。