Docker安装与常用命令总结

树莓派 3B 下使用 Docker 教程,及 Docker 常用命令的总结

NONGFAH 写于 2019-04-24

安装与卸载

脚本安装

使用脚本安装 docker 极其简单,在终端输入以下命令,等待完成

curl -sSL https://get.docker.com | sh
确认是否成功
sudo docker --version  
卸载
apt-get remove docker-ce docker-ce-cli  # 卸载软件  
apt-get remove –purge docker-ce docker-ce-cli # 卸载并清除配置  

常用命令

启动和关闭 docker 服务
sudo service docker start# 启动Docker服务
sudo service docker stop# 关闭Docker服务
重启 docker 并常驻服务
sudo systemctl restart docker.service 
sudo systemctl enable docker.service
为当前用户增加权限
sudo groupadd docker
sudo usermod -aG docker userName # 此处 userName 替换为你的用户名
查看 docker 基本信息

包括窗口、镜像数量和运行情况,安装目录等

sudo docker info 

镜像

查看所有下载镜像的状态
sudo docker images 
搜索镜像

镜像的名字通常由用户名/镜像名构成, 无用户名的为官方认证镜像。

docker search ubuntu 
获取镜像
sudo docker pull ubuntu # 使用 ubuntu:版本号 可以指定要下载的版本,默认为最新版本latest 
删除镜像
sudo docker rmi ubuntu # 需先删除镜像对应的容器 
删除所有镜像
sudo docker rmi $(docker images -q) # 需先删除镜像对应的容器 

容器

查看所有容器的状态
sudo docker ps -a
运行容器
sudo docker run --rm ubuntu echo "Hello from docker"   # rm 参数:容器运行结束之后就自动删除 
后台运行容器
sudo docker run -d --name=ubuntu ubuntu  # name参数: 为容器指定 name
交互式运行容器
sudo docker run -it --name=ubuntu  ubuntu
# it参数:{
#           i:即使未连接,交互式仍保持标准输入(键盘)打开  
#           t: 分配一个伪终端
# }
# name参数: 为容器指定 name
查看运行的详细参数
sudo docker run --help
停止容器
sudo docker stop ubuntu
进入停止的容器
sudo docker start ubuntu
sudo docker attach ubuntu # attach命令只能在本机开发时使用
                          # 因为退出会造成容器关闭,某台机器故障会造成所有人阻塞
sudo docker exec -it ubuntu /bin/bash # 该命令可用于生产环境;退出不关闭,无阻塞
删除容器
sudo docker rm ubuntu # 容器不能处于运行状态
删除所有停止的容器
sudo docker rm -v $(docker ps -a -q -f status=exited)
查看指定容器 ip
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
查看所有容器 ip
docker inspect --format='{{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
目录挂载

挂载宿主机目录 /test 到容器的 /soft 目录

sudo docker run -it -v /test:/soft ubuntu 
# 挂载时所有目录都应使用绝对目录
# 宿主机目录 /test 如果不存在,则会自动生成,
# 宿主机目录不填写 如 $ docker run -it -v /test2 ubuntu  则默认挂载在宿主机/var/lib/docker/volumes/下新建的目录下
容器自动重启

在因外界原因导致容器停止后,docker 自动重启容器

sudo docker run -it --restart always ubuntu   ##### 容器追加启动参数 在实际生产应用中,一个容器可能会连续运行数月甚至数年,后期由于需求变动,可能需要在容器启动时添加新的启动参数。此时,相比新建容器更好的解决方案是 使用 docker 提供的 `docker container update` 

docker container update --restart=always ubuntu # 为 ubuntu 追加自动重启参数