记录Docker常用的命令
docker run
创建一个新的容器并运行一个命令
1
| docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
|
- -d: 后台运行容器,并返回容器ID
- -i: 以交互模式运行容器
- -t: 为容器重新分配一个伪输入终端
- –name=”nginx-lb”
- -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- –expose=[]: 开放一个端口或一组端口
**docker exec **
在运行的容器中执行命令
1
| docker exec CONTAINER COMMAND
|
- **-d :**分离模式: 在后台运行
- **-i :**即使没有附加也保持STDIN 打开
- **-t :**分配一个伪终端
docker cp
用于容器与主机之间的数据拷贝
1 2
| #将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下 docker cp /www/runoob 96f7f14e99ab:/www/
|
批量删除镜像
删除所有容器
1 2 3 4
| docker rm [-f] $(docker ps -qa)
#根据容器的状态,删除Exited状态的容器 docker rm $(docker ps -qf status=exited)
|
删除所有镜像
1
| docker rmi [-f] $(docker images -qa)
|
按条件删除镜像
1 2 3 4 5
| #没有打标签 docker rmi [-f] $(docker images -q | awk '/^<none>/ { print $3 }')
#镜像名包含关键字 docker rmi --force [-f] $(docker images | grep doss-api | awk '{print $3}') #其中doss-api为关键字
|
删除REPOSITORY、TAG为none的镜像(虚悬镜像)
1 2 3 4 5 6
| #这类无标签镜像也被称为 虚悬镜像(dangling image) ,可以用下面的命令专门显示这类镜像: docker image ls -f dangling=true
#一般来说,虚悬镜像已经失去了存在的价值,是可以随意删除的,可以用下面的命令删除
docker rmi $(docker images -q -f dangling=true)
|
参考文章
https://www.runoob.com/docker/docker-run-command.html
https://blog.csdn.net/weixin_43702146/article/details/120701988