Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
下面是 Docker 的一些常见用法:
拉取镜像
1
2
|
sudo docker pull NAME[:TAG]
sudo docker pull centos:latest
|
查看镜像列表,列出本地的所有 images
1
2
|
sudo docker images [OPTIONS] [NAME]
sudo docker images
|
1
2
3
4
5
|
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
|
查看容器列表,可看到我们创建过的所有 container
1
2
|
sudo docker ps [OPTIONS]
sudo docker ps -a
|
启动 Container
1
2
|
sudo docker run 镜像id
sudo docker run -it 镜像id /bin/bash
|
停止 Container
重启 Container
1
|
sudo docker restart 镜像id
|
通过 ID 删除镜像
Docker 批量删除镜像
Docker 使用一段时间后,可能会存在许多无用的镜像。一个个删除比较麻烦,可以用下面的命令进行批量删除。
1
2
|
$ docker rmi $(docker images | grep "none" | awk '{print $3}')
|
docker images
会查看所有的镜像;grep "none"
命令会筛选所有名字包括 none
以及标签为 none
的镜像;awk '{print $3}'
会处理筛选后的文本,打印所有镜像 id
的内容。
删除容器及镜像详细
1
|
docker kill $(docker ps -a -q)
|
1
|
docker rm $(docker ps -a -q)
|
1
|
docker rmi $(docker images -q -f dangling=true)
|
1
|
docker rmi $(docker images -q)
|
问题汇总
1.报错 Error response from daemon: conflict: unable to delete 4a67b006c338 (cannot be forced) - image is being used by running container 451b7b600276
解决方法:使用 docker rmi -f 镜像id
进行删除
学习资料:https://www.runoob.com/docker/docker-tutorial.html