进入container的推荐做法
[root@docker ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
70e6c05430b8 centos:7.2.1511 "/bin/bash" 4 hours ago Up About an hour centos7.2
- 方法一:
[root@docker ~]# docker exec -it centos /bin/bash
- 方法二:
[root@docker ~]# docker inspect --format "{{.State.Pid}}" 70e6c05430b8
3136
[root@docker ~]# nsenter --target 3136 --mount --uts --ipc --net --pid
网络查看
[root@docker ~]# yum install bridge-utils -y
[root@docker ~]# brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.0242c73d45a7 no veth1337bd3
[root@docker ~]# iptables -t nat -L -n
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 172.17.0.0/16 0.0.0.0/0
端口映射
- 动态映射
[root@docker ~]# docker run -d -P --name mynginx nginx
[root@docker ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2463a5183038 nginx "nginx -g 'daemon ..." 33 seconds ago Up 33 seconds 0.0.0.0:32768->80/tcp mynginx
- 静态映射
[root@docker ~]# docker run -d -p 80:80 --name mynginx1 nginx
49cec54b106f42eeb8bc0104db614929b031a3514f5bf8288a7d02aa8a7e5b1f
[root@docker ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
49cec54b106f nginx "nginx -g 'daemon ..." 3 seconds ago Up 2 seconds 0.0.0.0:80->80/tcp mynginx1
数据卷
[root@docker ~]# docker run -it -h centos --name volume-test1 -v /data centos:7.2.1511
[root@docker ~]# docker inspect volume-test1 | grep Sour -A 1
"Source": "/var/lib/docker/volumes/40d47b93965f4db999eb217924ada407c11eedcc582661dcbe4822f311a4cf53/_data",
"Destination": "/data",
- 将宿主机上的/tmp目录挂载到容器中(在Dockerfile里无法使用)
[root@docker ~]# docker run -it -d --name volume-test2 -v /tmp:/volume-tmp:ro centos:7.2.1511
数据卷容器:专门用来存数据,其他容器不挂载,直接从这个容器中读取,无论此容器是否启动,都生效
[root@docker ~]# docker run -d -it --name volume-test3 --volumes-from volume-test1 centos:7.2.1511