docker常用命令
docker常用命令
拉取镜像
docker pull mirrors.tencent.com/ci/tlinux3_ci:2.1.0
查看镜像
docker images
查看是否存在容器
docker ps -a
创建容器,建议带上自己的名字
docker run --name="my_continer" -v /data:/data:rw -it $image_id /bin/bash
这条命令会将宿主机的/data挂载到容器的/data下,后续代码可以直接放到宿主机/data
进入已有容器
docker exec -it $continer_id /bin/bash
启动已有容器
docker start $continer_id
停止已有容器
docker stop $continer_id
删除容器
docker rm $continer_id
批量停止已有容器
docker stop `docker ps -a | awk 'NR!=1{print $1}'`
批量删除容器
docker rm `docker ps -a | awk 'NR!=1{print $1}'`
删除镜像
docker rmi $image_id
登录远端仓库
docker login bk.artifactory.oa.com:8080
用户名密码在数据面群公告里
提交镜像
docker commit -a="authername" -m="message" container_id {repository_name}:{images_tag} //提交修改到指定镜像
推到远端仓库
docker push {repository_name}:{images_tag}
docker镜像压缩
docker镜像随着层数的叠加,会迅速变大。蓝盾或者其他CI对编译镜像的大小会有要求,这种情况下,需要压缩镜像。
建议使用export和import命令。
1.docker export是用来保存一个容器(注意是容器,不是镜像),所以必须有个正在运行的容器
docker export <continer_id> > export.tar
2.docker import是将一个export导出容器压缩包加载到本地仓库,但是不能恢复成容器,而是变为一个镜像
docker import export.tar <image_name>:[tag]
这两步操作,会丢掉原本容器所有的提交历史和所有的操作层,压缩为一层。镜像等于变成了初始镜像,所以会变得比之前小很多。
docker镜像导出
使用docker save和docker load。
1.docker save -o save.tar <image_name>:[tag]。将镜像(不是容器)保存为tar文件
2.docker load < save.tar。将镜像的tar文件加载到本地仓库。
这两步操作,会保留完整的镜像提交历史。
容器重命名
docker rename container_id new_name