启用Docker Engine API的远程访问端口

作者:Rui 发布时间:July 1, 2017 分类:Docker,CLOUD 浏览:1,024

在Linux下安装的Docker,默认会将Docker Engine的服务绑定到Unix Sock(unix:///var/run/docker.sock),这种方式,只支持通过本地访问的形式,访问服务API,我们使用docker命令默认也是连接的本地Unix Sock。Docker也支持将服务绑定到TCP端口上,这样,就可以轻松通过远程访问的形式管理Docker。

切记: 如果开启面向公网的TCP端口时,一定要加密码认证,不然会有很多比特币病毒,利用该端口创建挖矿服务。说多了都是泪!

Ubuntu下Docker启动服务的方式
在Ubuntu下安装Docker,会在/lib/systemd/system/目录下生成docker service,编辑docker.service文件,我们就可以看到Docker Daemon启动的过程

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service
Wants=network-online.target
Requires=docker.socket

[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd -H fd://
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

从该配置中,可以看到ExecStart=/usr/bin/dockerd -H fd:// ,Docker使用dockerd启动,并默认绑定到fd://,具体可参考官方文档:
https://docs.docker.com/engine/reference/commandline/dockerd/#examples
我们可以直接在该文件中修改启动参数,使其绑定tcp socket。具体配置如下:

ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2376

修改完后,我们就可以直接重启docker服务即可生效

阅读剩余部分...

使用科大镜像加速Docker和Docker Hub

作者:Rui 发布时间:April 4, 2017 分类:Linux,Docker,CLOUD 浏览:665

国内直接使用docker官方的repository,下载安装特别慢,中国很多大学都提供了镜像服务,例如:科大,清华大学等

使用科大Linux Repository 安装Docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository \
   "deb [arch=amd64] http://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

sudo apt-get update
sudo apt-get install docker-ce

使用科大Docker Hub镜像库加速
在配置文件 /etc/docker/daemon.json 中加入:

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}

重新启动dockerd:

sudo service docker restart

相关资料:

科大镜像站:http://mirrors.ustc.edu.cn/
科大镜像站文档: http://mirrors.ustc.edu.cn/help/index.html