docker 安装及存储路径配置

docker的安装

安装docker yum install docker

启动服务 systemctl start docker.service

设置开机自启 systemctl enable docker.service

查看docker版本 docker version

使用centos7系统的,建议把selinux服务关闭,它会影响docker的启动及一些容器的使用.

SELinux一共有3种状态,分别是Enforcing,Permissive和Disabled状态。第一种是默认状态,表示强制启用,第二种是宽容的意思,即大部分规则都放行。第三种是禁用,即不设置任何规则。可以通过命令 getenforce 查看selinux服务的状态,默认一般都是 Enforcing。

修改selinux状态,编辑配置文件 vi /etc/selinux/configSELINUX=enforcing改为SELINUX=disabled,该操作后需要重启机器。
docker-1

docker存储路径配置

docker每次创建一个镜像、容器都会占据大量的内存空间,所以建议在安装的时候就把docker放在大空间的路径下,默认的docker是安装在/var/lib/docker下.

如果docker已经启动,请先关闭它 systemctl stop docker.service . 我打算把它迁移到 /home/docker 路径下,所以先创建文件夹 mkdir /home/docker

然后编辑docker存储路径配置 vi /lib/systemd/system/docker.service,找到ExecStart项 ,把它改成ExecStart=/usr/bin/dockerd --graph /home/docker
docker-2

保存文件后需要执行命令重新加载配置 systemctl daemon-reload.

然后将原路径文件拷贝到新的路径下 cp -r /var/lib/docker/* /home/docker/ docker中不存在容器的话,可以把原路径下的文件删除

如果docker已经存在容器,需要迁移容器的挂载点

  • 首先输入命令 df -hl 查看挂载点,docker容器会创建名称为overlay和shm的挂载点.这时候可以执行命令cat /proc/mounts|grep docker查看挂载点哪些是属于docker的.

  • 然后执行 umount 挂载点全路径 去掉该容器的挂载,并修改挂载点的路径,改成迁移后的docker路径,重新执行挂载命令 mount 新挂载点路径

  • 再次查看挂载 df -hl 这时候应该看到的都是新的路径,也可以删除原路径下的文件了,如果依旧删除失败,重启机器后可删除,然后尝试运行镜像。

  • 如果运行镜像失败提示:Error response from daemon: shim error: docker-runc not installed on system,执行命令创建软连接cd /usr/libexec/docker/ln -s docker-runc-current docker-runc

  • 如果运行镜像失败提示:exec: “docker-proxy”: executable file not found in $PATH,执行命令创建软连接 ln -s /usr/libexec/docker/docker-proxy-current /usr/bin/docker-proxy

  • 再次运行镜像,应该就能启动了,个人觉得迁移存储路径,有很大可能会出现上面的运行镜像失败的错误,如果是新装的docker迁移了存储路径,也可以先执行上面创建软连接的命令避免以后发生错误.

常用的docker命令

docker run 参数配置 作用
-v /etc/localtime:/etc/localtime:ro 把主机时间同步到容器中,不同步会相差8小时
--privileged=true centos默认关闭SElinux,需要开启特权模式,以root的形式进入容器,否则是普通用户
--restart=always 容器开启自动启动
--net=host 容器和宿主机的IP同网段
-v 主机路径:容器路径 用户把主机的文件挂载到容器中
/usr/sbin/init 在容器中开启系统命令,能够使用systemctl的命令
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name=nginx-lb 为容器指定一个名称;

命令大全

最后更新: 2020年05月26日 11:57

原始链接: https://midkuro.gitee.io/2020/05/21/docker-install/

× 请我吃糖~
打赏二维码