( 四 ) 初识 Docker 的容器

镜像是容器的前提

上一篇文章中,我们了解了 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 不配置容器的网络,用户可以自定义网络配置

猜你喜欢

转载自blog.csdn.net/bestcxx/article/details/80186814
今日推荐