五、容器的日常管理

一、容器的启动/停止

最简单的运行一个容器

[root@docker01 ~]# docker run nginx

创建容器,两步走(不常用)

[root@docker01 ~]# docker create centos:latest  /bin/bash
bb7f32368ecf0492adb59e20032ab2e6cf6a563a0e6751e58930ee5f7aaef204
[root@docker01 ~]# docker start stupefied_nobel
stupefied_nobel

快速启动容器方法

[root@docker01 ~]# docker run  centos:latest  /usr/bin/sleep 20;


ps:容器内的第一个进程必须一直处于运行的状态,否则这个容器,就会处于退出状态!

查看正在运行的容器

[root@docker01 ~]# docker container ls
    或
[root@docker01 ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
8708e93fd767        nginx               "nginx -g 'daemon of…"   6 seconds ago       Up 4 seconds        80/tcp              keen_lewin

查看你容器详细信息/ip

[root@docker01 ~]# docker container  inspect  容器名称/id

查看你所有容器(包括未运行的)

[root@docker01 ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
8708e93fd767        nginx               "nginx -g 'daemon of…"   4 minutes ago       Exited (0) 59 seconds ago                       keen_lewin
f9f3e6af7508        nginx               "nginx -g 'daemon of…"   5 minutes ago       Exited (0) 5 minutes ago                        optimistic_haibt
8d8f81da12b5        nginx               "nginx -g 'daemon of…"   3 hours ago         Exited (0) 3 hours ago                          lucid_bohr

停止容器

[root@docker01 ~]# docker stop 容器名称/id 
或
[root@docker01 ~]# docker container  kill  容器名称/id

二、进入容器方法

启动时进去方法

[root@docker01 ~]# docker run -it #参数:-it 可交互终端
[root@docker01 ~]# docker run -it nginx:latest  /bin/bash
root@79241093859e:/#

退出/离开容器

ctrl+p & ctrl+q

启动后进入容器的方法

# 启动一个docker
[root@docker01 ~]# docker run -it centos:latest 
[root@1bf0f43c4d2f /]# ps -ef 
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 15:47 pts/0    00:00:00 /bin/bash
root         13      1  0 15:47 pts/0    00:00:00 ps -ef

# attach进入容器,使用pts/0 ,会让所用通过此方法进如放入用户看到同样的操作。

[root@docker01 ~]# docker attach 1bf0f43c4d2f
[root@1bf0f43c4d2f /]# ps -ef 
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 15:47 pts/0    00:00:00 /bin/bash
root         14      1  0 15:49 pts/0    00:00:00 ps -ef

# 自命名启动一个容器 --name
[root@docker01 ~]# docker attach 1bf0f43c4d2f
[root@1bf0f43c4d2f /]# ps -ef 
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 15:47 pts/0    00:00:00 /bin/bash
root         14      1  0 15:49 pts/0    00:00:00 ps -ef

# exec 进入容器方法(推荐使用)
[root@docker01 ~]# docker exec -it clsn1  /bin/bash 
[root@b20fa75b4b40 /]# 重新分配一个终端
[root@b20fa75b4b40 /]# ps -ef 
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 16:11 pts/0    00:00:00 /bin/bash
root         13      0  0 16:14 pts/1    00:00:00 /bin/bash
root         26     13  0 16:14 pts/1    00:00:00 ps -ef


三、 删除所有容器

[root@docker01 ~]# docker rm -f  `docker ps -a -q`
# -f 强制删除

四、启动时进行端口映射

[root@docker01 ~]# docker run -d -p 8888:80  nginx:latest 
287bec5c60263166c03e1fc5b0b8262fe76507be3dfae4ce5cd2ee2d1e8a89a9

ps:-p 参数端口映射

不同指定映射方法:

-p hostPort:containerPort   # 端口映射  -p 8080:80
-p ip:hostPort:containerPort # 配置监听地址 -p 10.0.0.100:8080:80
-p ip::containerPort  # 随机分配端口 -p 10.0.0.100::80
-p hostPort:containerPort:udp # 指定协议 -p 8080:80:tcp
-p 81:80 –p 443:443    # 指定多个

随机映射

docker run -P (大P)# 需要镜像支持
posted @ 2018-05-24 10:46  云原生运维社区  阅读(192)  评论(0编辑  收藏  举报