安装Docker

1
2
3
4
5
6
非大陆
wget -qO- get.docker.com | bash
大陆
curl -sSL https://get.daocloud.io/docker | sh

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

卸载旧版本

较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

1
2
3
4
5
6
7
8
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

启动docker

1
systemctl start docker.service

查看Docker版本

1
docker version

开机自动启动

1
systemctl enable docker.service

卸载Docker

1
2
3
sudo apt-get purge docker-ce docker-ce-cli containerd.io
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

列出所有容器ID

1
docker ps -aq

查看所有运行或者不运行容器

1
docker ps -a

停止所有的container(容器),这样才能够删除其中的images:

1
docker stop $(docker ps -a -q) 或者 docker stop $(docker ps -aq) 

如果想要删除所有container(容器)的话再加一个指令:

1
docker rm $(docker ps -a -q) 或者 docker rm $(docker ps -aq) 

查看当前有些什么images

1
docker images

删除images(镜像),通过image的id来指定删除谁

1
docker rmi <image id>

想要删除untagged images,也就是那些id为的image的话可以用

1
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要删除全部image(镜像)的话

1
docker rmi $(docker images -q)

强制删除全部image的话

1
docker rmi -f $(docker images -q)

从容器到宿主机复制

1
2
docker cp tomcat:/webapps/js/text.js /home/admin
docker cp 容器名:容器路径 宿主机路径

从宿主机到容器复制

1
2
3
4
5
6
7
docker cp /home/admin/text.js tomcat:/webapps/js
docker cp 宿主路径中文件 容器名 容器路径
```

# 删除所有停止的容器
```Bash
docker container prune

删除所有不使用的镜像

1
2
3
docker image prune --force --all
或者
docker image prune -f -a

停止、启动、杀死、重启一个容器

1
2
3
4
docker stop Name或者ID  
docker start Name或者ID
docker kill Name或者ID
docker restart name或者ID

docker进入容器,查看配置文件

1
2
3
4
5
docker exec :在运行的容器中执行命令
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN(标准输入) 打开,以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
docker exec -it f94d2c317477 /bin/bash

出现bash: vi: command not found

1
2
#安装和更新软件并安装vim
apt-get update && apt-get install vim -y

修改配置、退出容器

1、如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器
2、如果使用exit退出,那么在退出之后会关闭容器,可以使用下面的流程进行恢复

1
2
3
4
5
#重启容器
docker restart

#进入容器
docker attach

杀死所有运行容器

1
docker kill $(docker ps -a -q)

删除所有容器

1
docker rm $(docker ps -a -q)

删除所有镜像

1
docker rmi $(docker images -q)

停止 docker 服务

1
systemctl stop docker

删除存储目录

1
2
3
4
rm -rf /etc/docker
rm -rf /run/docker
rm -rf /var/lib/dockershim
rm -rf /var/lib/docker

如果发现删除不掉,需要先 umount,如

1
umount /var/lib/docker/devicemapper

卸载 docker

查看已安装的 docker 包

1
yum list installed | grep docker

卸载相关包

1
yum remove docker-engine docker-engine-selinux.noarch

文章内容和代码来源于 [CentOS 7 清理删除卸载 Docker 环境](yum remove docker-engine docker-engine-selinux.noarch) ,如有侵权请联系站长立即删除。