Docker常用操作命令集合,持续更新~~~
制作自己的镜像
1.从远程仓库拉取一个纯净的 centos 系统镜像
查询 centos 相关的镜像
- 下载镜像到本地
docker pull 镜像名
- 查看镜像
查看本地镜像
docker images
1
| docker images |grep centos
|
- 创建并进入容器
创建容器
格式:docker run -dit –name=容器名 镜像id /bin/bash
- 查看所有的容器
- 进入容器
格式:docker exec -it 容器名 /bin/bash
- 将容器制作成镜像
进入容器并操作完成并退出后,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}
|
- 打包镜像
将制作好的镜像打成 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
2
3
4
| tarname=yyyxxx.img.tar
# 导出tar包输出镜像
docker load -i ${tarname}
|
[DOCKER]从容器外部复制文件到容器
- 从外部复制到容器内:
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}
|
- 从容器内部复制到容器外:
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'
|