1.安装:
因需要安装opendronemap,而这个依赖于docker,所以记录了一下安装docker的步骤,比较简单.通过apt的docker官方源安装最新的Docker CE(Community Edition),即Docker社区版,是开发人员和小型团队的理想选择。
开始安装
- 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
$ sudo apt-get remove docker docker-engine docker-ce docker.io
- 更新apt包索引:
$ sudo apt-get update
- 安装以下包以使apt可以通过HTTPS使用存储库(repository):
$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
- 添加Docker官方的GPG密钥:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 使用下面的命令来设置stable存储库:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 再更新一下apt包索引:
$ sudo apt-get update
- 安装最新版本的Docker CE:
$ sudo apt-get install -y docker-ce
验证docker
- 查看docker服务是否启动:
$ systemctl status docker
- 若未启动,则启动docker服务:
$ sudo systemctl start docker
- 经典的hello world:
$ sudo docker run hello-world
有以上输出,表示docker安装成功.
2.远程连接:
Docker为C/S架构,服务端为docker daemon,客户端为docker.service. 默认不会监听任何端口,只能在本地使用docker客户端或者使用Docker API进行操作。要支持远程客户端访问需要做如下设置(不安全,因为开了监听端口,任何人都可以远程连接到docker daemon服务器进行操作):
docker.service 中 dockerd 的 -H 参数不能与 daemon.json 中的 hosts 键值对冲突。(其他参数同理)
/etc/docker/daemon.json会被docker.service的配置文件覆盖,直接添加daemon.json不起作用;
方法1、
vim /lib/systemd/system/docker.service
将管理地址写入 /etc/profile :
echo 'export DOCKER_HOST=tcp://0.0.0.0:2375' >> /etc/profile
source /etc/profile
然后重启:
systemctl daemon-reload && systemctl restart docker
方法2、
systemctl edit docker.service 写入以下几行内容:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
保存、退出;
重启: systemctl daemon-reload && systemctl restart docker
方法3、
新建 /etc/systemd/system/docker.service.d/docker.conf 文件,写入以下几行内容:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd
在 /etc/docker/daemon.json 中写入以下内容:
{
"hosts":[
"unix:///var/run/docker.sock",
"tcp://0.0.0.0:2375"
]
}
然后重启: systemctl daemon-reload && systemctl restart docker
在另外一台docker服务器上远程连接测试:
docker -H tcp://192.168.3.201:2375 ps #192.168.3.201:是开启允许远程连接的那一台服务器,2375:端口 ps:docker命令