docker 注意事项

Author Avatar
anorz 3月 14, 2018
  • 在其它设备中阅读本文章

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化

docker的安装
  1. wget -qO- https://get.docker.com | sh
    1. [centos7] yum install docker
    2. [ubuntu] apt install docker.io
    3. [debian9]
      wget https://download.docker.com/linux/debian/dists/stretch/pool/stable/amd64/docker-ce_17.03.0\~ce-0\~debian-stretch_amd64.deb
      dpkg -i docker-ce_17.03.0~ce-0~debian-stretch_amd64.deb

设置不输入 sudo

sudo usermod -aG docker ${USER}

sudo service docker restart

sudo newgrp - docker
容器启动后又关闭

当 docker run -d nginx 时发现容器启动后立即关闭
原因

docker后台运行,就必须有一个前台进程,主线程结束,容器就会退出

改成: docker run -d -it nginx
连接容器
当 docker attach nginx 时,输入 exit 或 ctrl+D 终止容器

若依次输入 ctrl+P,ctrl+Q 则不会终止容器而只是退出链接
CMD - ENTRYPOINT
dockerfile 中 cmd 和 entrypoint 都只能设置一次
cmd : 当 docker run 附加命令时,不会执行cmd
entrypoint : 无论docker start restart run 一定会执行
若依次输入 ctrl+P,ctrl+Q 则不会终止容器而只是退出链接
volume磁盘挂载
docker volume create mysql_data

docker volume inspect mysql_data

当磁盘挂载不上是,需要关掉liunx的 seliunx

查看 seliunx 状态: sestate -v

3种方法: 1. setenforce 0

2.容器启动,添加--privileged=true

3. 修改 /etc/selinux/config 将SELINUX=enforcing改为SELINUX=disabled