Docker常用设置

2019-03-30 1240点热度 0人点赞 0条评论

普通用户不使用sudo使用docker命令

由于docker命令通常都是使用root用户或者具有sudo权限的用户运行,为了使用普通用户运行docker命令,需要进行以下设置:
首先创建docker用户组,如果docker用户组存在可以忽略

sudo groupadd docker

把用户添加进docker组中

sudo gpasswd -a ${USER} docker

重启docker

sudo service docker restart

如果普通用户执行docker命令,如果提示get …… dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限,使用root用户执行如下命令,即可

sudo chmod 660 /var/run/docker.sock

这样注销重新登录之后就可以不加sudo使用docker命令了。

修改docker镜像及容器默认的存储位置

由于docker默认的镜像存储位置是/var/lib/docker,如果空间比较大的存储是挂在非/分区下的,如/test,可以通过以下方式修改docker镜像及容器的默认存储位置。
首先把原有内容全部复制到新的目录:

sudo cp -rp /var/lib/docker /test/

创建软链接(创建软链之前,先将原/var/lib/docker目录修改为其它名字,如/var/lib/docker-backup)

sudo mv /var/lib/docker /var/lib/docker-backup
sudo ln -s /test/docker /var/lib/docker

重新启动docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

然后删除docker的备份文件:

sudo rm -rf /var/lib/docker-backup

docker login CA认证问题/添加自签发的 SSL 证书为受信任的根证书

原文链接

docker login CA认证问题/添加自签发的 SSL 证书为受信任的根证书

操作步骤

安装ca-certificates

yum install ca-certificates

使能动态CA配置功能

update-ca-trust force-enable

复制证书到/etc/pki/ca-trust/source/anchors/目录

cp /www/server/panel/vhost/cert/aiuyo.com/*  /etc/pki/ca-trust/source/anchors/

使新拷贝的证书生效

update-ca-trust extract

证书拷贝后,需要重启docker以保证docker能使用新的证书

systemctl restart docker

Docker开启远程API端口

原文链接

Centos7.XDocker开启远程API端口

修改docker service文件

Docker开启远程端口的目的是可以通过Docker提供的 remoteApi文档 管理Docker并且可以操作Docker下容器,监控容器的各项指标,也可以通过remoteApi去实现自己监控Docker告警系统等。默认Docker并没有启动remoteApi,需要我们修改配置才能生效。
编辑文件/usr/lib/systemd/system/docker.service
在 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock 配置文件后面加上 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 保存并退出。保存之后的文件如下:

注 : 端口 2375 就是docker remoteApi的 端口,确保此端口linux没有被占用。

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

重启docker

systemctl daemon-reload && systemctl restart docker

配置daocloud镜像加速

文档地址

https://www.daocloud.io/mirror#accelerator-doc

添加镜像地址

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

查看是否已经加入镜像地址

cat /etc/docker/daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}

重启docker服务

sudo systemctl restart docker 

王显锋

激情工作,快乐生活!

文章评论