【待完善】docker常用命令整理

本文详细介绍了Docker的基本命令,包括镜像的查看、删除、获取、运行,以及生成自定义Dockerfile。重点讲解了删除镜像的冲突解决、镜像命名和改名技巧,以及如何指定端口并管理容器。涵盖了实战操作和常见问题处理。
摘要由CSDN通过智能技术生成

1、docker命令:

Docker用户需要sudo权限,可以把用户加入docker用户组,避免每次都输入sudosudo usermod -aG docker $USER

  • 显示、删除docker镜像
    # 列出本机的所有 image 文件。
    docker image ls
    
    # 删除 image 文件
    docker image rm [imageName]
    
    docker rmi [imageName] #同于上一条命令
    

image 文件是通用的,一台机器的 image 文件拷贝到另一台机器,照样可以使用。一般来说,为了节省时间,我们应该尽量使用别人制作好的 image 文件,而不是自己制作。即使要定制,也应该基于别人的 image 文件进行加工,而不是从零开始制作。

  • 获取镜像:将 image 文件从仓库抓取到本地:

    docker image pull  [imageURL]
    # eg: docker image pull library/hello-world
    
  • 运行某一个docker镜像

    docker  [container] run imageName
    # eg:docker  run hello-world
    

docker container run hello-world命令有自动抓取image文件的功能。如果发现本地没有指定的image文件,就会自动从仓库中抓取,所以,前面的docker image pull 命令并不是必需的步骤。

  • 停止docker镜像
    有些容器不会自动停止,必须使用docker container kill命令手动终止

    docker container kill [containID]
    

2、生成自己的image文件

生成自己的image文件,需要用到Dockerfile 文件,它是一个文本文件,用来配置 image。Docker 根据 该文件生成二进制的 image 文件。

5、遇到的问题

5-1 不能删除image

使用docker image rm hello-worlddocker rmi hello-world命令,删除docker镜像时提示:“Error response from daemon: conflict: unable to remove repository reference “hello-world” (must force) - container bca1bfca3cab is using its referenced image bf756fb1ae65”。

  • 针对于没运行的程序,强力删除,加上 -f参数,即:docker image rm -f hello-world
  • 另一种方法:
    • 删除container 名字:使用 docker ps -as 命令,查询到name(假设为backstabbing_ritchie),然后 使用docker rm backstabbing_ritchie命令移除container
    • 删除container:docker rmi imagename

参考:【stackoverflow】

5-2 docker改名

如这里自己创建的docker镜像为 tensorflow-gpu-donald,太长了,准备改名为:tf-gpu-doanld
在这里插入图片描述
可以的方法为:

  • 使用 docker image tag c81410cf7565 tf-gpu-donald:latest进行修改,这里c81410cf7565是imageID。
  • 也可以使用docker image tag tensorflow-gpu-donald:latest tf-gpu-su:latest进行修改。

其实,Image ID 才是镜像全名,tag只是一个human-readable的别名。一个image id可以对应多个tag,之前的名字可以使用 docker rmi tensorflow-gpu-donald进行删除。因为c81410cf7565有其他名字,所以image不会被删除。

refer:【Docker how to change repository name or rename image?】

5-3、运行

  • 指定端口,运行某一个镜像:docker run -dit -p 2233:22 tf-gpu-su
  • 使用docker ps找到container ID43678b43ae1c
  • 进入镜像:docker exec -it 9a37aacfd682 bash
    -d是后台运行
    -p是端口映射,本地端口:docker镜像内端口
  • 使用passwd修改密码:12…
docker exec -it 9a37aacfd682 bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值