文章目录
- 镜像是容器的前提
- 容器的产生 `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 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 不配置容器的网络,用户可以自定义网络配置