Docker基本管理(2): 容器管理

本文参考《从Docker到Kubernetes入门与实战》(罗利民)

1. 容器管理

1.1 创建容器

        创建容器有两种方式,一种方式是create,创建的新容器处于停止状态:

docker create [options] image:[version]

options:
--add-host=[]: 指定主机到ip地址映射关系
--dns=[]: 为容器指定域名服务器
-h: 为容器指定主机名
-i: 打开容器的标准输入
--name: 指定容器名称
-u,--user=: 创建用户

        另一种方式为run,在创建后会立即启动该容器,以下命令为创建后启动并进入交互模式:

docker run -i -t --name demo_centos centos /bin/bash

        以下命令为创建一个后台型容器并执行:

docker run -d centos

注:
-d, --detach=false	指定容器运行于前台还是后台,默认为 false

1.2 查看容器

        和 Linux 的ps/ls指令类似,ps查看正在运行的容器:

在一控制台输入:
docker run -i -t demo/webserver:v2.0 /bin/bash

本地打开新控制台 或 服务器控制台输入:
docker ps

        运行结果:

CONTAINER ID   IMAGE                 COMMAND       CREATED          STATUS          PORTS     NAMES
e020d4c2832f   demo/webserver:v2.0   "/bin/bash"   20 seconds ago   Up 20 seconds             funny_murdock

        ps指令默认不显示非运行状态容器,需要ps -a显示全部:

docker ps -a

运行结果:
CONTAINER ID   IMAGE                 COMMAND       CREATED             STATUS                         PORTS     NAMES
e020d4c2832f   demo/webserver:v2.0   "/bin/bash"   4 minutes ago       Exited (0) 9 seconds ago                 funny_murdock
b8df2451b1c1   demo/webserver        "/bin/bash"   About an hour ago   Exited (0) About an hour ago             keen_elbakyan
4f7acb30c5dd   ubuntu                "/bin/bash"   2 hours ago         Exited (0) About an hour ago             compassionate_kare

        随着容器数量增多,可以用关键字指令查找名称含有某字符串的容器: docker ps -a -f name=[ ] (注意:名称为NAME,而不是镜像名称)

docker ps -a -f name=funny

运行结果:
CONTAINER ID   IMAGE                 COMMAND       CREATED        STATUS                    PORTS     NAMES
e020d4c2832f   demo/webserver:v2.0   "/bin/bash"   15 hours ago   Exited (0) 15 hours ago             funny_murdock

        -a 为 -all, 列出满足条件全部容器

        -f 表示过滤条件,包含name,status(状态),ancestor(镜像),label(标签)和启动顺序(before、since)

启动顺序:
docker ps (-a) -f before=monkey    //monkey在哪些容器之前启动
docker ps (-a) -f before=monkey    //monkey在哪些容器之后启动

状态:
docker ps -a -f "exited=0"
docker ps -a -f status=running
docker ps -a -f status=paused

1.3 启动 / 停止容器

docker start [container name]
docker restart [container name]
docker stop [container name]
docker stop -t 10 [container name]    //设置强制停止容器等待时间
docker kill [container name]          //强制停止容器  

1.4 进入容器(必须进入已启动容器)

docker exec -it [container name]

2. 网络管理

2.1 Docker 网络

        Docker在安装完成后,会在宿主机中创建虚拟网桥,该网桥实现 容器之间 和 容器与外部网络 的连接。通常情况下,虚拟网桥名称为 docker0 :

你可能感兴趣的:(docker)