未分类 · 2023-01-11 0

Docker常用命令

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