镜像是容器的前提
上一篇文章中,我们了解了 Docker 镜像的一些基本的操作,本篇我们将继续了解 Docker 容器的一些基本操作。
容器的产生 docker run 镜像 [其他命令]
docker run 镜像 [其他命令] 会根据镜像来新创建一个容器并且启动这个容器,所以一个镜像可以产生多个容器。如果镜像尚不存在本地则会先运行
docker pull 镜像
命令,然后再启动。
关于其他命令
的内容将在本文下面进行阐述。
docker run 镜像 [其他命令]
列出在运行容器
docker ps
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 exec -i -t 容器id /bin/bash
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
方法二(已不推荐使用)
多窗口查看同一容器内容会同步,包括阻塞
docker attach 容器id
方法三
首先获取容器进程的第一个id,容器id通过
docker ps
获得扫描二维码关注公众号,回复: 1822022 查看本文章
docker inspect --format "{{.State.Pid}}" 容器id
然后根据这个进程id进入容器
nsenter --target 容器进程id --mount --uts --ipc --net --pid
其他命令
docker run -d -p 80:80 nginx
表示,后台运行,宿主机端口为80,容器端口为80,启动容器的名字为nginx,可以通过 宿主机ip:80/ 访问
后台运行、ip、宿主机端口、容器端口
-d 表示后台运行
-p 容器本身的端口,比如两个tomcat都可以是8080
-p 也可以指定ip ,所在机器端口
- ip:hostPort:containerPort
- ip::containerPort
- hostPort:containerPort
- containerPort
–network 指定网络模式
–network=bridge 默认选项,连接默认网桥
–network=host 使用宿主机的网络
–network=container:NAME_or_ID 新创建容器使用已有容器的网络
–network=none 不配置容器的网络,用户可以自定义网络配置