docker - 常用命令 发表于 2021-11-29 | 分类于 pipeline , 镜像 , container Docker is a platform that allows you to “build, ship, and run any app, anywhere.” 常用命令docker相关常用命令123456789sudo systemctl start docker #启动dockersystemctl restart docker.service #重启dockerdocker version #查看 docker 版本docker info #显示 docker 系统信息(容器情况、镜像情况等 )docker –help #显示所有命令docker login/logout # 登录、退出Docker账号docker ps -a # 查看所有容器;docker search keyword # 从Docker Hub中搜索相关镜像docker top # 查看容器中正在运行的进程 镜像相关常用命令123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119===== 查看镜像 # 查看本地镜像列表docker images # 查看镜像制作过程docker history ===== 获取镜像 # 从配置的仓库下载镜像 docker pull <name:tag> # 获取指定版本的镜像eg: docker pull centos:centos7 # 默认获得最新版本(latest)eg: docker pull centos ===== 创建镜像(DockerFile)docker build <Path> \ # Path为包含DokcerFile的目录-f python.dockerFile #若DockerFile的文件名不是默认名称则需要说明===== 创建镜像(快照)docker load # 通过tar包,导入镜像# 通过镜像tar(save创建)包导入镜像库eg: docker load -i python.dockerimage.tar # 从容器快照文件(export创建的tar) 导入到镜像库docker import ubuntu.tar ubuntu:v1 ===== 重命名镜像# 对镜像进行从命名docker tag <镜像ID> <newname:newtag> ===== 保存镜像docker save <镜像ID> # 将镜像保存到一个tar包eg: docker save python:latest -o python.tar===== 上传镜像docker push <name:tag> # 推送镜像到远程仓库eg: eg: docker push benair/pancancer:v0 ===== 删除镜像docker rmi <镜像ID>eg: docker rmi -f ae9660359c2ad``` ## 容器相关常用命令```shell===== 查看容器$ docker ps #查看运行中的容器CONTAINER-ID IMAGE COMMAND CREATED STATUS PORTS NAMES5917eac21c36 ubuntu:15.10 "/bin/bash" 52 minutes ago Up 52 minutes sweet_agnesi# 查看容器的内容变更docker diff <CONTAINERID> # 查看特定任务的日志文件$ docker logs <CONTAINERID> # 用于查看容器的配置信息,包含容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等。docker inspect <CONTAINERID> ===== 启动容器docker run <镜像ID>/<name:tag> # 通过特定镜像启动一个容器eg: docker run \-d \ # -d 后台启动一个容器 -it \ # -it 交互式启动容器 -v /share:/share \ # -v 将宿主机的目录挂载的容器内部(实现文件的交互); -u root \ # -u 指定登陆容器后的用户名称 -p 80:80 \ # -p 对宿主机和容器的端口建立映射-H hostname \ # -H 制定容器的主机名称--name centos \ # --name 制定容器的名称centos:centos7 \ # 启动的容器镜像/bin/bash # 启动容器后,执行的命令eg: docker run -it===== 进入容器docker attach/exec # attach 进入容器后,如果退出容器会导致容器停止eg: docker attach <镜像ID>/<name:tag> # exec 进入容器后,如果退出,容器不会停止eg: docker exec -it <镜像ID>/<name:tag> /bin/bash ===== 退出容器# 交互状态中镜像中运行exit 或者使用 ctrk+d 退出容器$ exit===== 容器内文件交互# 将文件从容器拷贝到宿主机docker cp <CONTAINERID>:/FilePath /FilePath # 将文件从宿主机拷贝到容器docker cp /FilePath <CONTAINERID>:/FilePath===== 删除容器 docker rm# 删除指定容器,删除容器前需要确定容器是关闭的。docker rm -f 1e560fca3906# 批量删除某个镜像衍生的容器docker ps -a | grep <镜像ID> | awk -F ' ' '{print "docker rm "$1}' | sh # 清理掉所有处于终止状态的容器。docker container prune ===== 保存容器(快照)# docker export 基于当前版本建立快照(之前的层不保存)docker export <CONTAINERID> > ubuntu.tardocker export <CONTAINERID> -o ubuntu.tar# docker commit 当前容器内容新建一层(在原有启动镜像基础上新建一层)docker commit <CONTAINERID> <name:tag> # 如果容器需要上传到远程仓库,在保存时还需要指定用户docker commit <CONTAINERID> usr/<name:tag> ===== 关启容器# 启动容器(不能是运行状态的容器)docker start <镜像ID>/<name:tag># 停止容器 docker stop <镜像ID>/<name:tag># 重启容器docker restart <镜像ID>/<name:tag># 终止容器docker kill <镜像ID>/<name:tag>===== 其他命令docker rename # 重命名容器 参考资料官方文档Docker:Guides:Get started 生信常用镜像清单bwavepGATK 官方介绍 -------------本文结束感谢您的阅读-------------