文章目录

  • 镜像是容器的前提
  • 容器的产生 `docker run 镜像 [其他命令] `
  • 容器自动启动
  • 列出在运行容器
  • 列出所有容器
  • 列出所有容器-包括未运行状态的
  • 停止容器
  • 强制停止容器
  • 启动已停止的容器
  • 重启容器
  • 删除容器
  • 删除所有容器
  • 查看容器端口
  • 查看容器的内部信息
  • 进入容器
  • 获取容器的 ip
  • 其他命令
  • 后台运行、ip、宿主机端口、容器端口
  • --network 指定网络模式


镜像是容器的前提

上一篇文章中,我们了解了 Docker 镜像的一些基本的操作,本篇我们将继续了解 Docker 容器的一些基本操作。

容器的产生 docker run 镜像 [其他命令]

docker run 镜像 [其他命令] 会根据镜像来新创建一个容器并且启动这个容器,所以一个镜像可以产生多个容器。如果镜像尚不存在本地则会先运行docker pull 镜像 命令,然后再启动。
关于其他命令的内容将在本文下面进行阐述。

docker run 镜像 [本文目录:其他命令]
容器自动启动

默认情况下,Docker 一旦关闭,容器还需要手动重启,使用下面的命令可以使容器每次在 Docker 启动之后自动启动。

--restart=always 
## 完整版
docker run -d -p 8088:8080 --name mytomcat --restart=always tomcat
列出在运行容器
docker ps

docker desktop 容器文件都在哪_nginx

列出所有容器
docker ps -a

CONTAINER_ID 容器ID
IMAGE 镜像名称
COMMAND 启动容器时运行的命令
CREATED 容器创建时间
STATUS 容器运行状态:UP-运行中,Exited:已停止
PORTS 容器对外端口号
NAMES 容器名称、默认自动生成,可以用 docker run --name 指定

列出所有容器-包括未运行状态的
docker ps -a
停止容器
docker stop 容器id/容器名称
强制停止容器
docker kill 容器id/容器名称
启动已停止的容器
docker start 容器id/容器名称
重启容器
docker restart 容器id/容器名称
删除容器

强制删除使用 -f

docker rm 容器id/容器名称
docker rm -f 容器id/容器名称
删除所有容器
docker rm -f $(docker ps -a -q)
查看容器端口

docker port 容器id

查看容器的内部信息

docker inspect 容器id

进入容器

docker exec -i -t 容器id /bin/bash

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
获取容器的 ip

在进入容器之后,可以用下面的命令获得容器的ip

#进入容器
docker exec -it 容器id /bin/bash
#查看容器id
cat /etc/hosts
其他命令

注意是 - - name
例子:docker run -d -p 8080:80 --name mynginx nginx
表示,后台运行,宿主机端口为8080,容器内端口为80,启动容器的名字为nginx,可以通过 宿主机ip:8080/ 访问

后台运行、ip、宿主机端口、容器端口

-d 表示后台运行
–name mynginx 初始化的容器的名字,这里自定义为 mynginx
nginx 镜像的名字
-p ip和端口设定,有如下四种模式(hostPort表示所在机器端口,具有唯一性;containerPort表示容器内端口,相互之间不影响。进入容器内其实可以发现,每一个容器都像是一个独立的linux系统)

  • ip:hostPort:containerPort
  • ip::containerPort
  • hostPort:containerPort
  • containerPort
–network 指定网络模式

–network=bridge 默认选项,连接默认网桥
–network=host 使用宿主机的网络
–network=container:NAME_or_ID 新创建容器使用已有容器的网络
–network=none 不配置容器的网络,用户可以自定义网络配置