Docker常用命令

docker version 查看版本信息

docker info 显示统信息,包括镜像和容器数

docker --help 帮助命令

docker images 查看镜像 (docker images -a 含中间镜像层)

docker rmi -f 镜像ID 删除单个镜像

docker rm 容器ID 删除单个容器

docker pull 镜像名:版本号 拉取镜像

docker run -it REPOSITORY /bin/bash 启动镜像

--name="容器新名字": 为容器指定一个名称;

-d: 后台运行容器,并返回容器ID,也即启动守护式容器;

-i:以交互模式运行容器,通常与 -t 同时使用;

-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;

-P: 随机端口映射;

-p: 指定端口映射;

docker ps 查看正在运行容器

docker ps -a 查看所有容器

docker start 容器ID或者容器名 启动容器

docker restart 容器ID或者容器名 重启容器

docker stop 容器ID或者容器名 停止容器

docker kill 容器ID或者容器名 强制停止容器

docker kill $(docker ps -a -q) 停用全部运行中的容器

docker rm $(docker ps -aq) 删除全部容器

docker rmi docker images -q 删除所有镜像

主机(宿主)端口:容器端口

在容器化环境中,常常使用端口映射来将主机(宿主)端口与容器端口进行关联。这样可以使得主机上的外部流量能够通过指定的主机端口访问容器内运行的应用程序。

端口映射的格式通常是 主机端口:容器端口。主机端口是指主机上的端口号,容器端口是指容器内应用程序监听的端口号。

例如,假设你有一个运行在容器内的 Web 应用程序,它监听在容器的端口 8080 上。你可以通过端口映射将主机上的端口 8888 与容器的端口 8080 关联起来。

这样,当你通过主机的 8888 端口访问时,流量会被转发到容器的 8080 端口。

在 Docker 中,可以使用 -p 或 --publish 参数来指定端口映射。例如:

```
docker run -p 8888:8080 <image>

```

这将创建一个容器,并将主机的 8888 端口映射到容器的 8080 端口。现在,你可以通过访问 http://localhost:8888/ 来访问容器内运行的应用程序。

类似地,在其他容器化平台或工具中,也有类似的端口映射机制,可以通过配置来关联主机端口和容器端口。

需要注意的是,主机端口和容器端口可以是不同的数字,但它们必须是有效的端口号,并且在主机和容器之间没有被其他进程使用。此外,如果主机上有防火墙或网络安全组

的限制,你可能需要确保主机上的相应端口是开放的,以便能够接收外部流量。

容器端口8080可修改

容器内的应用程序监听的端口号是可以修改的。在容器化环境中,你可以通过配置容器的网络设置来指定应用程序监听的端口号。

具体来说,容器内的应用程序通常会在容器的网络命名空间中运行,并且可以监听该命名空间中的端口。你可以在容器的配置文件或容器启动命令中指定应用程序要监听的端口号。

以 Docker 为例,你可以使用 -p 或 --publish 参数来指定端口映射,同时指定容器内应用程序监听的端口号。例如:

```

docker run -p 8888:8080 <image>

```

在上述示例中,容器内的应用程序仍然监听在 8080 端口,但是通过端口映射,主机的 8888 端口与容器的 8080 端口关联起来。这样,外部流量通过主机的 8888 

端口访问时,会被转发到容器的 8080 端口。

如果你想修改容器内应用程序监听的端口号,可以在容器的配置文件或启动命令中修改相应的设置。例如,你可以将应用程序的监听端口号改为 9090:

```

docker run -p 8888:9090 <image>

```

这样,容器内的应用程序将监听 9090 端口,而不是 8080 端口。同时,通过端口映射,主机的 8888 端口仍然与容器的 9090 端口关联。

````

imaegoo/twikoo:latest和imaegoo/twikoo的区别

imaegoo/twikoo:latest 和 imaegoo/twikoo 是 Docker 镜像的标签(tags),它们之间的区别在于所指向的具体镜像版本。

- imaegoo/twikoo:latest 标签表示最新版本的 imaegoo/twikoo 镜像。当你使用 docker pull imaegoo/twikoo 命令时,默认会拉取该标签所指向的最新版本镜像。

- imaegoo/twikoo 标签表示一个特定的镜像版本。这个版本可能是一个具体的数字、日期或其他标识符,用于区分不同的镜像版本。如果没有指定标签,默认会使用 latest 标签。

使用特定的标签可以确保你使用的是特定版本的镜像。这对于在不同环境中保持一致性以及回滚到先前的版本非常有用。如果你想使用特定版本的镜像,可以使用 imaegoo/twikoo:版本号 的形式来拉取镜像。

例如,要拉取 imaegoo/twikoo 的 v1.0 版本镜像,可以使用以下命令:

```

docker pull imaegoo/twikoo:v1.0

```

总之,`imaegoo/twikoo:latest` 表示最新版本的镜像,而 imaegoo/twikoo 表示特定版本的镜像。