Docker的安装

安装的环境

  • CentosOS 7 3.10.0-862.14.4.el7.x86_64
  • 内存512M
  • cpu单核

首先卸载之前的旧版本(参照官方文档)

1
2
3
4
5
6
7
8
9
10
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine

设置安装环境和安装源

  1. 配置安装的环境
    1
    2
    3
    $ sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2
  2. 配置安装源
    1
    2
    3
    $ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

    安装DOCKER CE

    1
    2
    $ sudo yum install docker-ce

    命令行运行的过程中会出现提示,官方文档说要与它所展示的一致才可以信任文档地址

    输入y继续
    如果想要安装特定版本的话可以参照相应文档(INSTALL DOCKER CE)的第2点

启动Docker

1
$ sudo systemctl start docker

运行官方的Hello-World程序

1
$ sudo docker run hello-world

遇到的问题

  1. 非root用户执行Docker命令
    在命令前添加sudo来执行命令,或者将用户加入docker组
    1
    2
    3
    4
    sudo groupadd docker     #添加docker用户组
    sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
    newgrp docker #更新用户组
    docker ps #测试docker命令是否可以使用sudo正常使用
  2. Centos7中docker开启远程访问(Centos7 docker remote access configure)方式来源
    (建议没有需求就不要开启,开启也请指定特定IP可连接)
    在作为docker远程服务的centos7机器中配置:
  • 在/usr/lib/systemd/system/docker.service,配置远程访问。主要是在[Service]这个部分,加上下面两个参数
    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
  • docker重新读取配置文件,重新启动docker服务
    1
    2
    $ systemctl daemon-reload
    $ systemctl restart docker
  • 查看docker进程,发现docker守护进程在已经监听2375的tcp端口
    1
    $ ps -ef|grep docker
  • 查看系统的网络端口,发现tcp的2375端口,的确是docker的守护进程在监听
    1
    $ lsof -i:2375
  • 我使用另一台服务器当作客户端,来访问centos7的docker服务,访问成功。
    1
    $ sudo docker -H tcp://192.168.1.113:2375 images

    注:如果修改后没起作用,可能需要防火墙开启相应的Docker端口。
Author: Sean
Link: https://blog.whileaway.io/posts/29129/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.