主要来源于官网教程1 , 记录一下怕以后忘记了.
以Debian为例, 采用包管理器的方式安装.
需要的材料:
- 一台Linux主机, 如装着debian的
- docker的软件源.
官方源
https://download.docker.com/linux/debian清华源https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian
Step 1. 删除老旧版本
新机器直接忽略即可
sudo apt-get remove docker docker-engine docker.io containerd runc
Step 2. 安装辅助工具及软件源
辅助工具主要是为了支持https
sudo apt update
sudo apt install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
添加gpg key
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
添加源
for bash + amd64
# deb [arch=amd64/armhf] [mirror site url] [codename] [component...]
sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
$(lsb_release -cs) stable"
for fish + armhf(raspberry pi)
# deb [arch=amd64/armhf] [mirror site url] [codename] [component...]
sudo add-apt-repository \
deb [arch=armhf] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian \
(lsb_release -cs) stable
Debian 各个版本(Releases)和代号(Code name)对照表2
| 版本(Releases) | 代号(Code name) |
|---|---|
| 11 | Bullseye |
| 10 | Buster |
| 9 | Stretch |
| 8 | Jessie |
| 7 | Wheezy |
| 6 | Squeeze |
Docker 各种版本(update channels):
- Stable gives you latest releases for general availability.
- Test gives pre-releases that are ready for testing before general availability.
- Nightly gives you latest builds of work in progress for the next major release.
Step 3. 安装Docker本身
更新源
sudo apt update
安装 !
sudo apt install docker-ce
Step 4. 验证版本
docker version
得到输出:
root@aio:~# docker version
Client:[^Debian Release]: https://wiki.debian.org/DebianReleases
Version: 18.09.4
API version: 1.39
Go version: go1.10.8
Git commit: d14af54
Built: Wed Mar 27 18:36:06 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.4
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: d14af54
Built: Wed Mar 27 18:01:48 2019
OS/Arch: linux/amd64
Experimental: false
至此已经安装完成了.
以下是服务器的配置.
Step 5. 配置远程登录
本机的docker server 默认只监听本地文件套接字
远程登录可以采用如下两种方式
修改systemd脚本启动参数
对于systemd的机器可以简单的修改systemd脚本即可.
打开docker的service脚本
vim /etc/systemd/system/multi-user.target.wants/docker.service
找到这行
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
在后面添加-H tcp://ip:port即可开启tcp连接, 如
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://127.0.0.1:2375
然后重载并重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
最后检验连接
docker -H 127.0.0.1 version
修改daemon.json
修改/etc/docker/daemon.json
vim /etc/docker/daemon.json
在hosts 的值中添加主机即可
{
"hosts": ["unix:///var/run/docker.sock", "tcp://127.0.0.1:2375"]
}
然后重启docker
sudo systemctl restart docker
如果遇到类似错误3
unable to configure the Docker daemon with file /etc/docker/daemon.json:
the following directives are specified both as a flag and in the configuration file: hosts: (from flag: [unix:///var/run/docker.sock], from file: [tcp://127.0.0.1:2376])
那是因为docker 的命令行和json配置文件有冲突的参数, 请确保启动docker时没有加冲突的参数.
如果是systemd的请把/etc/systemd/system/multi-user.target.wants/docker.service里的
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
修改为
ExecStart=/usr/bin/dockerd
然后重载&重启服务(参见上一条).
最后验证:
docker -H 127.0.0.1 version
另外, docker连接的主机可以通过DOCKER_HOST环境变量指定4
DOCKER_HOST=127.0.0.1 docker version
所以如果有时候连不上了可以试试unset DOCKER_HOST
补充一点:
Docker Compose安装
Docker Compose是用来定义并运行多容器应用的工具. Docker Compose具体通过一个yaml格式的配置文件docker-compose.yml定义多容器应用. 就像Dockerfile定义单个容器一样样.
Docker Compose可以通过pip安装
pip install docker-compose
docker-compose
Last modified on 2019-04-04