1. 系统设置

  1. cd /cygdrive/e/vagrant/mybox/docker
  2. vagrant up && vagrant ssh
  3. # 关闭防火墙
  4. sudo systemctl stop firewalld
  5. sudo systemctl disable firewalld
  6. # 禁用Selinux
  7. sudo vi /etc/selinux/config
  8. SELINUX=disabled
  9. # 注意重启liunx系统后才生效,否则运行“docker run --entrypoint htpasswd ....”会出错
  10. exit
  11. vagrant reload

2. 安装介质准备

版本:docker-18.09.7.tgz
下载:https://download.docker.com/linux/static/stable/x86_64
将安装介质上传至${MY_VAGRANT_HOME}/docker/share。

3. Docker离线安装

  1. 安装包解压缩。

    1. vagrant up && vagrant ssh
    2. # 进入共享目录
    3. cd /share
    4. tar -xvf docker-18.09.7.tgz
    5. sudo cp docker/* /usr/bin/
    6. rm -rf docker
    7. rm -rf docker-18.09.7.tgz
  2. 配置docker.service。

编辑配置:

  1. sudo vi /etc/systemd/system/docker.service

配置如下:

  1. [Unit]
  2. Description=Docker Application Container Engine
  3. Documentation=https://docs.docker.com
  4. After=network-online.target firewalld.service
  5. Wants=network-online.target
  6. [Service]
  7. Type=notify
  8. ExecStart=
  9. # Open the docker remote service
  10. ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
  11. ExecReload=/bin/kill -s HUP $MAINPID
  12. LimitNOFILE=infinity
  13. LimitNPROC=infinity
  14. LimitCORE=infinity
  15. TimeoutStartSec=0
  16. Delegate=yes
  17. KillMode=process
  18. Restart=on-failure
  19. StartLimitBurst=3
  20. StartLimitInterval=60s
  21. [Install]
  22. WantedBy=multi-user.target

设置执行权限:

  1. # 增加可执行权限
  2. sudo chmod +x /etc/systemd/system/docker.service
  3. # 设置开机自启
  4. sudo systemctl enable docker.service
  5. # 重新加载配置文件
  6. sudo systemctl daemon-reload
  1. 运行Docker。
    1. # 启动docker
    2. sudo systemctl start docker
    3. # 查看状态
    4. sudo systemctl status docker
    5. # 设置开机启动
    6. sudo systemctl enable docker
    7. # 查看版本
    8. sudo docker version

    4. Docker权限配置

    Docker进程使用Unix Socket而不是TCP端口。而默认情况下,Unix socket属于root用户,因此需要root权限才能访问。所以需要创建用户组来访问和使用。
    1. # 添加docker用户组,如果docker用户组存在,则会提示“docker组已存在”
    2. sudo groupadd docker
    3. # 将当前用户(自定义用户,如:vagrant)添加至docker用户组中
    4. sudo gpasswd -a $vagrant docker # 检测当前用户(vagrant)是否已经在docker组中
    5. sudo gpasswd -a $USER docker # 若上述检测不存在,则可将当前用户(USER=vagrant)添加至docker组
    6. # 更新docker用户组
    7. newgrp docker

    5. 配置镜像加速器

    1. # daemon.json 是Docker的配置文件,默认是没有的,需要我们手动创建
    2. sudo mkdir -p /etc/docker
    3. sudo tee /etc/docker/daemon.json <<-'EOF'
    4. {
    5. "registry-mirrors":
    6. ["https://tyhbjv3j.mirror.aliyuncs.com"],
    7. "live-restore": true
    8. }
    9. EOF
    10. sudo systemctl daemon-reload
    11. sudo systemctl restart docker
    说明:使用阿里云镜像加速,需要注册阿里云账号,通过进入功能菜单“弹性计算”->“容器镜像服务”->“管理控制台”->“镜像中心”->“镜像加速器”,找到操作指引。

    6. 卸载Docker

    1. # 1. 查找已安装介质
    2. yum list installed | grep docker
    3. ######################## 控制台输出 ###########################
    4. ## docker-ce.x86_64 3:19.03.13-3.el7 @docker-ce-edge ##
    5. ## docker-ce-cli.x86_64 1:19.03.13-3.el7 @docker-ce-edge ##
    6. ##############################################################
    7. # 2. 删除安装的软件包
    8. yum -y remove docker-ce.x86_64
    9. yum -y remove docker-ce-cli.x86_64
    10. # 3. 删除镜像/容器等
    11. rm -rf /var/lib/docker

    7. 安装Docker Compose

    版本:1.24.1/docker-compose-Linux-x86_64
    下载:https://github.com/docker/compose/releases

    7.1. 获取安装介质

    1. # 下载docker-compose(联网模式)
    2. sudo curl
    3. -L
    4. "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname
    5. -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    6. # 离线下载docker-compose(https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64)
    7. # 进入共享目录
    8. cd /share
    9. sudo cp -r docker-compose /usr/local/bin/docker-compose
    10. rm -rf docker-compose

    7.2. 配置

    1. # 添加docker-compose运行权限
    2. sudo chmod +x /usr/local/bin/docker-compose
    3. # 软链接到/usr/bin/下,防止"command not found"
    4. sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

    7.3. 验证

    1. # 查看docker-compose版本
    2. sudo docker-compose --version