title: Docker安装配置
date: 2018-09-27 15:57:08
tags: Docker
categories: Docker
catalog: true
官方建议把Docker安装在Linux操作系统上。当然,其它操作系统也可以安装使用。这里记录在Centos 7下Docker的安装与基本配置。
Red Hat操作系统包含了一个旧版本的Docker软件包,该旧版本软件包的名称是docker
。因此在我们安装新版本前先把旧版本删除,执行以下命令:
$ sodo yum -y remove docker
鉴于国内网络问题,所以把yum源设置为国内的源,速度会快很多。
$ sudo yum-config-manager \
--add-repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
Docker从2017年3月开始分成两个版本,一个是社区免费版本Docker CE,一个是企业版Docker EE。这里我们是个人使用所以安装CE版本。
执行以下命令:
$ sudo yum makecache fast
$ sudo yum install docker-ce
默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。
建立 docker 组:
$ sudo groupadd docker
将当前用户加入 docker 组:
$ sudo usermod -aG docker $USER
退出当前终端并重新登录,进行如下测试。
$ sudo systemctl enable docker
$ sudo systemctl start docker
执行命令
$ sudo docker run hello-world
如果能输出hello-world的内容即表示Docker安装成功
同样是国内网络问题,我们在Docker官方仓库创建获取镜像时可能会很慢,因此可以使用国内同步的镜像仓库。
对于使用 systemd 的系统,请在 /etc/docker/daemon.json
中写入如下内容(如果文件不存在请新建该文件)
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
修改完成后重新启动Docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
不同系统或不同 Docker 版本开启方式不一样。我的系统为Centos 7
我的Docker版本如下:
[root@HJWDEV ~]# docker --version
Docker version 18.06.1-ce, build e68fc7a
开启远程访问后,我们可以通过服务器上安装的 Docker 在本地构建 Docker 镜像
vi /usr/lib/systemd/system/docker.service
编辑docker.service
文件在
[Install]
WantedBy=multi-user.target
前加上如下内容:
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
之后重启 Docker 即可
systemctl daemon-reload
systemctl restart docker
最后如果系统有防火墙还需要开启2375
端口
添加端口
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload