docker命令记录

po一下最近使用到的docker的命令用法,一直都记不住要经常现查 :(

1. 删除镜像

  1. 要按照镜像名称删除 Docker 中的镜像,可以使用 docker rmi 命令。

命令格式如下:

docker rmi <image_name>

其中 <image_name> 是要删除的镜像的名称或镜像 ID。

docker删除构建失败的镜像(批量删除没有名字的镜像)

docker rmi $(docker images -f "dangling=true" -q)

2. 删除container

删除所有不再运行的container

docker rm $(docker ps -aq)

3. 以某一镜像构建容器

docker run -p 5000:5000 --name my_container -d your_image_name

在运行容器之后,可以使用 docker ps 命令来查看运行的容器。

docker ps

4. 进入容器

如果需要进入容器内部进行交互,可以使用 docker exec 命令。

docker exec -it my_container /bin/sh

5. 查看容器

使用 docker ps 命令来查看运行的容器。

docker ps

显示所有包括已经停止的容器

docker ps -a

6. 查看docker容器对应的ip

  1. 要查看 Docker 容器的 IP 地址,可以使用 docker inspect 命令。该命令可以获取容器的详细信息,包括 IP 地址。

以下是一个示例命令:

docker inspect -f '' <container_id_or_name>

在上面的命令中,需要将 <container_id_or_name> 替换为要查询的容器的 ID 或名称。命令执行后,它会输出容器的 IP 地址。

  1. 如果只想获取容器的 IP 地址,可以使用 --format 选项来指定输出格式。

以下是示例命令:

docker inspect --format '' <container_id_or_name>

请确保在命令中替换 <container_id_or_name> 为实际的容器 ID 或名称。

  1. 如果想要一次性查看所有容器的 IP 地址,可以结合使用 docker psdocker inspect 命令。

以下是一个示例命令:

docker ps -q | xargs -n 1 docker inspect -f ' - '

该命令会列出所有容器的 ID 和对应的 IP 地址。

请注意,上述命令只能查看正在运行的容器的 IP 地址。如果容器已经停止,它将不会显示相应的 IP 地址

7. 使用另外一台机器上的docker registry

要使用另一台机器上的 Docker Registry,需要进行以下步骤:

  1. 在另一台机器上设置 Docker Registry: 首先,在另一台机器上启动一个 Docker Registry 服务。可以使用官方的 Docker Registry 镜像来运行一个私有的 Registry。可以使用以下命令启动 Registry 容器:

    docker run -d -p 5000:5000 --restart=always --name registry registry:2
    

    这将在端口 5000 上启动 Docker Registry 并持续运行。

  2. 配置 Docker 客户端: 需要在本地的 Docker 客户端上配置它来使用另一台机器上的 Docker Registry。将 Docker 客户端配置为信任另一台机器上的 Registry。为此,可以在 Docker 客户端上创建一个配置文件 daemon.json(如果不存在),并添加以下内容:

    {
      "insecure-registries": ["<registry-hostname>:<registry-port>"]
    }
    

    其中 <registry-hostname> 是另一台机器的主机名或 IP 地址,<registry-port> 是 Registry 服务的端口(默认为 5000)。保存配置文件后,重启 Docker 服务,使配置生效。

  3. 标记镜像并推送到 Registry: 现在可以将本地的 Docker 镜像标记为另一台机器上的 Registry 地址,并推送到该 Registry。假设有一个名为 my-image 的镜像,可以使用以下命令来进行标记和推送:

    docker tag my-image <registry-hostname>:<registry-port>/my-image
    docker push <registry-hostname>:<registry-port>/my-image
    

    <registry-hostname> 替换为另一台机器的主机名或 IP 地址,<registry-port> 替换为 Registry 服务的端口。

  4. 从 Registry 拉取镜像: 如果想从另一台机器上的 Registry 拉取镜像,可以使用以下命令:

    docker pull <registry-hostname>:<registry-port>/my-image
    

    同样,将 <registry-hostname> 替换为另一台机器的主机名或 IP 地址,<registry-port> 替换为 Registry 服务的端口。

通过以上步骤,就可以使用另一台机器上的 Docker Registry 进行镜像的推送和拉取操作。




Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • 大三总结
  • Github pages + jekyll 博客搭建
  • git常用命令
  • macbook m1 + VMware Fusion 配置ubuntu虚拟机
  • react-navigation 6.x 使用指南 (3)