Docker 安装
可以在任何操作系统上安装 Docker,无论是 Mac,Windows,Linux 还是任何云服务器。Docker 引擎在 Linux 发行版上运行。 在这里,我们将以 Linux Ubuntu Server 16.04 作为演示安装 Docker 引擎的过程。
前提条件
Docker 需要两个重要的安装要求:
- 它仅适用于 64 位 Linux 安装
- 它需要 Linux 内核版本 3.10 或更高版本。
要查看当前的内核版本,请打开终端并键入uname -r
命令以查看内核版本:
lusifer@UbuntuBase:~$ uname -r
4.4.0-21-generic
查看操作系统是32位还是64位:
lusifer@UbuntuBase:~$ uname --m
x86_64
使用脚本安装 Docker
使用在线安装脚本
curl -sSL https://get.daocloud.io/docker | sh
执行后会自动下载并安装 Docker 及依赖包
lusifer@UbuntuBase:~$ curl -sSL https://get.daocloud.io/docker | sh
# Executing docker install script, commit: 49ee7c1
+ sudo -E sh -c apt-get update -qq >/dev/null
+ sudo -E sh -c apt-get install -y -qq apt-transport-https ca-certificates curl software-properties-common >/dev/null
+ sudo -E sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null
+ sudo -E sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial edge" > /etc/apt/sources.list.d/docker.list
+ [ ubuntu = debian ]
+ sudo -E sh -c apt-get update -qq >/dev/null
+ sudo -E sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
+ sudo -E sh -c docker version
Client:
Version: 17.10.0-ce
API version: 1.33
Go version: go1.8.3
Git commit: f4ffd25
Built: Tue Oct 17 19:04:16 2017
OS/Arch: linux/amd64
Server:
Version: 17.10.0-ce
API version: 1.33 (minimum version 1.12)
Go version: go1.8.3
Git commit: f4ffd25
Built: Tue Oct 17 19:02:56 2017
OS/Arch: linux/amd64
Experimental: false
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker lusifer
Remember that you will have to log out and back in for this to take effect!
WARNING: Adding a user to the "docker" group will grant the ability to run
containers which can be used to obtain root privileges on the
docker host.
Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
for more information.
完成后有个提示
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker lusifer
Remember that you will have to log out and back in for this to take effect!
当要以非 root 用户可以直接运行 docker 时,需要执行 sudo usermod -aG docker lusifer
命令,然后重新登陆,否则会有如下报错
lusifer@UbuntuBase:~$ docker run hello-world
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.33/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.
启动 Docker 后台服务
service docker start
查看 Docker 当前版本
lusifer@UbuntuBase:~$ docker version
Client:
Version: 17.10.0-ce
API version: 1.33
Go version: go1.8.3
Git commit: f4ffd25
Built: Tue Oct 17 19:04:16 2017
OS/Arch: linux/amd64
Server:
Version: 17.10.0-ce
API version: 1.33 (minimum version 1.12)
Go version: go1.8.3
Git commit: f4ffd25
Built: Tue Oct 17 19:02:56 2017
OS/Arch: linux/amd64
Experimental: false
配置加速器
由于网络原因,我们在 pull Image 的时候,从 Docker Hub
上下载会很慢... 所以,国内的 Docker 爱好者们就添加了一些国内的镜像 (mirror),方便大家使用。
修改配置文件
nano /lib/systemd/system/docker.service
添加 --registry-mirror=https://jxus37ac.mirror.aliyuncs.com
到 ExecStart:
保存配置:systemctl daemon-reload
重启服务:service docker restart