一、Docker守护进程的配置和操作

1.查看守护进程的运行状态(2种方式)

1
2
1. ps -ef |grep docker 
2. sudo service docker status

2. service 命令管理守护进程

1
2
3
service docker stop
service docker start
service docker restart

3.Docker 守护进程的启动选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
docker -d [OPTIONS]
-D,--debug
-e,--exec-driver="native"
-g,--graph="/var/lib/docker"
--ice=true
-l,--log-level="info" 日志级别
--label=[]
-p,--pidfile="/var/run/docker.pid"
服务器相关
-G,--group="docker"
-H,--host=[] tcp://host:port|unix:///path/to/socket|fd://* or fd://socketfd 默认为:-H unix:///var/run/docker.sock
--tls=false
--tlscacert="/home/sven/.docker/ca.pem"
--tlscert="/home/sven/.docker/cert.pem"
--tlskey="/home/sven/.docker/key.pem"
--tlsverify=false
...

4.修改Docker守护进程的启动配置文件

1
2
vim /etc/default/docker
DOCKER_OPTS=“启动选项命令”

二、Docker的远程访问

环境准备:

1
2
3
另一台 Docker 的服务器
修改 Docker 守护进程启动选项,区别服务器(即 --lable 参数 DOCKER_OPTS="--lable name=server_01"
保证Client API 与 Server API 版本一致

Server 端

1
2
3
4
5
vim /etc/default/docker
...
DOCKER_OPTS="--lable name=server_01 -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" # 可支持2375端口的远程访问,也可支持本地默认访问
...
service docker restart

Client 端

1
2
3
4
5
6
7
8
9
10
11
vim /etc/default/docker
...
DOCKER_OPTS="--lable name=server_02"
...
service docker restart
# 链接远程的 docker 服务器
export DOCKER_HOST="tcp://Server的ip:2375"
docker info
# 链接本地的 docker 服务器
export DOCKER_HOST=""
docker info

三、容器的网络连接

1. 自定义 docker 的网络接口

  1. 安装网桥管理工具
1
2
apt-get install bridge-untils
brctl show
  1. 添加Linux虚拟网桥
1
2
sudo brctl addbr br0
sudo ifconfig br0 192.168.100.1 netmask 255.255.255.0
  1. 更改守护进程启动配置
1
DOCKER_OPS="-b=br0"

2. 容器之间互联

  1. 允许所有容器之间互联
    方法一:默认互通即 DOCKER_OPS="--icc=true" 无需修改任何配置
    方法二:docker run link 指令

    1
    docker run --link=[CONTAINER_NAME]:4w[ALIAS(别名)] [IMAGE] [COMMAND]
  2. 拒绝容器之间互联

    1
    DOCKER_OPS="--icc=false"
  3. 允许特定容器之间互联 (DOCKER_OPS 与 docker run link 配合使用)

    1
    2
    DOCKER_OPS="--icc=false --iptables=true"
    docker run --link=[CONTAINER_NAME]:[ALIAS(别名)] [IMAGE] [COMMAND]

3. Docker 外部访问链接

  1. 允许端口映射访问
1
ip_forward=true(默认)
  1. 限制ip访问容器(iptables 工具)
1
sudo iptables -I DOCKER -s 起始ip -d 目标ip -p TCP --dport 80 -j DROP

拓展: iptables 的常用命令

1
2
sudo iptables -F 清除iptables设置
sudo iptables -L -n 查看iptables的详情