# Docker容器使用
# 容器操作
# 1.容器的起/停
最简单的运行一个容器
[root@docker01 ~]# docker run nginx
1
创建容器,两步走(不常用)
[root@docker01 ~]# docker create centos:latest /bin/bash
bb7f32368ecf0492adb59e20032ab2e6cf6a563a0e6751e58930ee5f7aaef204
[root@docker01 ~]# docker start stupefied_nobel
stupefied_nobel
1
2
3
4
2
3
4
快速启动容器方法
[root@docker01 ~]# docker run centos:latest /usr/bin/sleep 20;
1
容器内的第一个进程必须一直处于运行的状态,否则这个容器,就会处于退出状态!
查看正在运行的容器
[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
1
2
3
4
5
2
3
4
5
查看你容器详细信息/ip
[root@docker01 ~]# docker container inspect 容器名称/id
1
查看你所有容器(包括未运行的)
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
1
2
3
4
5
2
3
4
5
停止容器
[root@docker01 ~]# docker stop 容器名称/id
或
[root@docker01 ~]# docker container kill 容器名称/id
1
2
3
2
3
# 2.进入容器方法
启动时进去方法
[root@docker01 ~]# docker run -it #参数:-it 可交互终端
[root@docker01 ~]# docker run -it nginx:latest /bin/bash
root@79241093859e:/#
1
2
3
2
3
退出/离开容器
1 | ctrl+p & ctrl+q
1
启动后进入容器的方法
启动一个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
1
2
3
4
5
2
3
4
5
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
1
2
3
4
5
2
3
4
5
自命名启动一个容器 --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
1
2
3
4
5
2
3
4
5
exrc 进入容器方法(推荐使用)
[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
1
2
3
4
5
6
7
2
3
4
5
6
7
# 3.删除所有容器
[root@docker01 ~]# docker rm -f `docker ps -a -q`
# -f 强制删除
1
2
2
# 4.启动时进行端口映射
-p参数端口映射
[root@docker01 ~]# docker run -d -p 8888:80 nginx:latest
287bec5c60263166c03e1fc5b0b8262fe76507be3dfae4ce5cd2ee2d1e8a89a9
1
2
2
不同指定映射方法
参数 | 说明 |
---|---|
-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 | 指定多个 |