目录

Docker常用操作命令集合

Docker常用操作命令集合,持续更新~~~

制作自己的镜像

1.从远程仓库拉取一个纯净的 centos 系统镜像 查询 centos 相关的镜像

1
docker search centos
  1. 下载镜像到本地

docker pull 镜像名

1
docker pull centos
  1. 查看镜像

查看本地镜像

docker images

1
docker images |grep centos
  1. 创建并进入容器 创建容器

 格式:docker run -dit –name=容器名 镜像id /bin/bash  

  1. 查看所有的容器
1
docker ps -a
  1. 进入容器

格式:docker exec -it 容器名 /bin/bash 

  1. 将容器制作成镜像 进入容器并操作完成并退出后,commit当前容器为执行名称镜像

格式:docker commit -m ‘镜像描述’ -a ‘制作者’ 容器名 镜像名

1
2
3
4
5
6
7
# 容器id或名称
cidname=111xxx
# 镜像id或名称
midname=wwwxxx

docker commit -m 'make image' ${cidname} ${midname}

  1. 打包镜像

将制作好的镜像打成 tar 包

格式:docker save -o tar包的名字 镜像名

1
2
3
4
5
6
7
8
9
# 镜像id或名称
midname=wwwxxx

# tar包名

tarname=yyyxxx.img.tar

# 保存镜像到tar包
docker save ${midname} -o ${tarname}
  1. 使用镜像
1
2
3
4
tarname=yyyxxx.img.tar

# 导出tar包输出镜像
docker load -i ${tarname}

[DOCKER]从容器外部复制文件到容器

  1. 从外部复制到容器内:

docker cp source container:target_path

1
2
3
4
5
6
7
8
# 待拷贝文件位置
file_source=xxxx
# 容器id或名称
cidname=111xxx
# 容器内目标位置
target_path=/tmp

docker cp ${file_source} ${cidname}:${target_path}
  1. 从容器内部复制到容器外:

docker cp container:source_path output_path

 1
 2
 3
 4
 5
 6
 7
 8
 9
10

# 容器id或名称
cidname=111xxx
# 容器内文件位置
source_path=/tmp

# 待拷贝文件输出位置
output_path=/home

docker cp ${cidname}:${source_path} ${output_path} 

停用全部运行中的容器

1
docker stop $(docker ps -q)

删除全部容器

1
docker rm $(docker ps -aq)

一条命令实现停用并删除容器

1
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

杀死所有正在运行的容器

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

删除所有已经停止的容器

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

删除所有未打 dangling 标签的镜像

表示清理当前repo:tag为“”的镜像。在对应的镜像repo:tag构建新的镜像的时候,旧的镜像就会从repo:tag中移走,进而成为“”,这个时候,我们就可以对这些进行清理

1
docker rmi $(docker images -q -f dangling=true)

删除所有镜像

1
docker rmi $(docker images -q)

强制删除 无法删除的镜像

1
2
3
4
5
# 删除指定镜像
docker rmi -f <IMAGE_ID>

# 删除所有镜像
docker rmi -f $(docker images -q)

命令集

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14

~/.bash_aliases
  
# 杀死所有正在运行的容器.
alias dockerkill='docker kill $(docker ps -a -q)'
  
# 删除所有已经停止的容器.
alias dockercleanc='docker rm $(docker ps -a -q)'
  
# 删除所有未打标签的镜像.
alias dockercleani='docker rmi $(docker images -q -f dangling=true)'
  
# 删除所有已经停止的容器和未打标签的镜像.
alias dockerclean='dockercleanc || true && dockercleani'