Docker用户需要sudo权限,可以把用户加入docker用户组,避免每次都输入sudo:sudo 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-worlddocker container run hello-world命令有自动抓取image文件的功能。如果发现本地没有指定的image文件,就会自动从仓库中抓取,所以,前面的docker image pull 命令并不是必需的步骤。
停止docker镜像 有些容器不会自动停止,必须使用docker container kill命令手动终止
docker container kill [containID]生成自己的image文件,需要用到Dockerfile 文件,它是一个文本文件,用来配置 image。Docker 根据 该文件生成二进制的 image 文件。
使用docker image rm hello-world 或 docker 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】
如这里自己创建的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?】