RHEL/CentOS 7.x使用systemd代替了service,要查看systemd來了解docker服務配置
systemctl status docker|grep Load, 發(fā)現是/usr/lib/systemd/system/docker.service
打開/usr/lib/systemd/system/docker.service,其中[Service]內容如下,
[Service]
Type=notify
ExecStart=/usr/bin/docker daemon -H fd://
...........
dockers registry V2 默認使用證書進行認證,如要關閉認證需在啟動docker時加入參數 --insecure-registry your_registry_ip:port
2種加入docker啟動參數方法:
1. docker官方推薦,新建docker.conf并添加內容
1.1新建目錄/etc/systemd/system/docker.service.d
1.2 新建文件/etc/systemd/system/docker.service.d/docker.conf
1.3 docker.conf 添加如下內容
[Service]
ExecStart=
ExecStart=/usr/bin/docker daemon -H fd:// --insecure-registry 172.16.11.19:5000
2.在環(huán)境變量文件里加上對應的變量,在docker服務啟動腳本(此處為docker.service)里加載環(huán)境變量文件,看如下例子
2.1環(huán)境變量文件,在RHEL/CentOS下是/etc/sysconfig/docker,如沒則新建一個,添加如下內容
INSECURE_REGISTRY=“--insecure-registry 172.16.11.19:5000”
INSECURE_REGISTRY為環(huán)境變量名,也可以是,變量內容為“--insecure-registry registry_server_name/ip:port”
在Ubuntu下 是/etc/default/docker,添加如下內容
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry registry_server_name/ip:port"?
2.2修改docker服務啟動腳本(此處為/usr/lib/systemd/system/docker.service),加入如下內容
加載環(huán)境文件,EnvironmentFile=-/etc/sysconfig/docker
增加加docker啟動參數,ExecStart=/usr/bin/docker daemon -H fd:// $INSECURE_REGISTRY
注意:docker daemon 里的變量名 必須與 環(huán)境變量文件里變量名一致,如果環(huán)境變量文件里為OTHER_ARGS,
? ? ? ? ?則以上為ExecStart=/usr/bin/docker daemon -H fd:// $OTHER_ARGS
以上內容改好后,重啟docker
systemctl daemon-reload
systemctl restart docker
最后檢查是否生效
ps aux | grep docker 查看docker daemon有沒有帶--insecure-registry 參數,如沒則失敗,需檢查以上步驟,直至ps時能找到--insecure-registry
新版docker已更改設置方式,需要修改/etc/docker/daemon.json,而不是修改docker.service,否則報以下錯誤
Error response from daemon: Get https://172.16.1.22:1180/v1/users/: http: server gave HTTP response to HTTPS client