当前位置:  首页>> 技术小册>> Docker容器实战部署

一、docker安装

Docker 是管理容器的工具, Docker 不等于 容器。

1.1、docker yum源设置

  1. #step 1 download docker-ce.repo file
  2. [root@zutuanxue ~]# wget https://download.docker.com/linux/centos/docker-ce.repo -P /etc/yum.repos.d/
  3. --2019-11-14 20:46:09-- https://download.docker.com/linux/centos/docker-ce.repo
  4. 正在解析主机 download.docker.com (download.docker.com)... 13.35.50.117, 13.35.50.10, 13.35.50.93, ...
  5. 正在连接 download.docker.com (download.docker.com)|13.35.50.117|:443... 已连接。
  6. 已发出 HTTP 请求,正在等待回应... 200 OK
  7. 长度:2424 (2.4K) [binary/octet-stream]
  8. 正在保存至: “/etc/yum.repos.d/docker-ce.repo.1
  9. 100%[==================================================>] 2,424 --.-K/s 用时 0s
  10. 2019-11-14 20:46:09 (210 MB/s) - 已保存 “/etc/yum.repos.d/docker-ce.repo.1 [2424/2424])
  11. #step 2 change docker yum repo from tsinghua web
  12. [root@zutuanxue ~]# sed -i 's#download.docker.com#mirrors.tuna.tsinghua.edu.cn/docker-ce#g' /etc/yum.repos.d/docker-ce.repo

1.2、docker 安装

1.2.1、卸载旧版本

  1. [root@zutuanxue ~]# yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

1.2.2、安装docker

  1. [root@zutuanxue ~]# yum -y install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
  2. [root@zutuanxue ~]# yum -y install docker-ce

1.2.3、启动docker

  1. [root@zutuanxue ~]# systemctl enable docker
  2. Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
  3. [root@zutuanxue ~]# systemctl start docker

1.3、验证启动

  1. [root@zutuanxue ~]# systemctl status docker
  2. docker.service - Docker Application Container Engine
  3. Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  4. Active: active (running) since 2019-11-14 20:53:12 EST; 14s ago
  5. Docs: https://docs.docker.com
  6. Main PID: 1584 (dockerd)
  7. Tasks: 12
  8. Memory: 60.7M
  9. CGroup: /system.slice/docker.service
  10. └─1584 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
  11. 11 14 20:53:12 zutuanxue dockerd[1584]: time="2019-11-14T20:53:12.366007531-05:00" level=info msg="scheme \"unix\" not registered, fallback to defau...odule=grpc
  12. 11月 14 20:53:12 zutuanxue dockerd[1584]: time="2019-11-14T20:53:12.366028377-05:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:...odule=grpc
  13. 11 14 20:53:12 zutuanxue dockerd[1584]: time="2019-11-14T20:53:12.366036593-05:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
  14. 11 14 20:53:12 zutuanxue dockerd[1584]: time="2019-11-14T20:53:12.404043665-05:00" level=info msg="Loading containers: start."
  15. 11 14 20:53:12 zutuanxue dockerd[1584]: time="2019-11-14T20:53:12.547472878-05:00" level=info msg="Default bridge (docker0) is assigned with an IP a...P address"
  16. 11 14 20:53:12 zutuanxue dockerd[1584]: time="2019-11-14T20:53:12.588359436-05:00" level=info msg="Loading containers: done."
  17. 11 14 20:53:12 zutuanxue dockerd[1584]: time="2019-11-14T20:53:12.733704268-05:00" level=info msg="Docker daemon" commit=a872fc2f86 graphdriver(s)=o...on=19.03.3
  18. 11 14 20:53:12 zutuanxue dockerd[1584]: time="2019-11-14T20:53:12.733826656-05:00" level=info msg="Daemon has completed initialization"
  19. 11 14 20:53:12 zutuanxue systemd[1]: Started Docker Application Container Engine.
  20. 11 14 20:53:12 zutuanxue dockerd[1584]: time="2019-11-14T20:53:12.753929596-05:00" level=info msg="API listen on /var/run/docker.sock"
  21. Hint: Some lines were ellipsized, use -l to show in full.

1.4、验证版本

  1. [root@zutuanxue ~]# docker -v
  2. Docker version 19.03.1, build 74b1e89

二、docker client 和 daemon分离

docker client 与 daemon分离

  1. 1、关闭docker
  2. [root@zutuanxue ~]# systemctl stop docker
  3. 2、修改docker启动方式,要求加载配置文件启动
  4. [root@zutuanxue ~]# sed -i.bak '/^ExecStart=/c\ExecStart=\/usr\/bin\/dockerd' /usr/lib/systemd/system/docker.service
  5. 3、设置docker配置文件,默认没有
  6. 设置允许监听地址和端口,以及sock文件连接
  7. 默认是使用sock方式连接,加tcp//0.0.0.0:2375可实现远程管理
  8. [root@zutuanxue ~]# cat /etc/docker/daemon.json
  9. {
  10. "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
  11. }
  12. 4、重载docker服务、重启docker生效配置
  13. [root@zutuanxue ~]# systemctl daemon-reload
  14. [root@zutuanxue ~]# systemctl restart docker
  15. 5、查看docker的监听地址和端口
  16. [root@zutuanxue ~]# netstat -ntpl |grep 2375
  17. tcp6 0 0 :::2375 :::* LISTEN 21219/dockerd
  18. 6、客户端连接docker daemon,执行命令
  19. [root@zutuanxue ~]# docker -H 192.168.98.240 images

该分类下的相关小册推荐: