查看Linux版本 cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)

安装基础依赖 1、卸载老版本(如果有) yum remove docker docker-common container-selinux docker-selinux docker-engine 注意:执行该命令只会卸载Docker本身,而不会删除Docker内容,例如镜像、容器、卷以及网络。这些文件保存在/var/lib/docker 目录中,需要手动删除。 2、安装yum-utils ,它可以提供 yum-config-manager 来管理repository及扩展包 yum install -y yum-utils device-mapper-persistent-data lvm2 注意: Device Mapper是Linux系统中基于内核的高级卷管理技术框架。Docker的devicemapper存储驱动就是基于该框架的精简置备和快照功能来实现镜像和容器的管理。Device Mapper是Linux的一种技术框架,而devicemapper 是 Docker Engine 基于 Device Mapper提供的一种存储驱动。 3、设置docker稳定源(两个选一个yum 源即可) yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 4、启动extras额外的依赖库 yum-config-manager --enable extras 5、启动docker.repo源 yum-config-manager --enable docker-ce-edge 安装并启动docker 1、更新yum的安装索引 yum makecache fast 2、查看yum里能够安装的docker-ce的版本 yum list docker-ce.x86_64 --showduplicates |sort -r

docker-ce.x86_64 18.05.0.ce-3.el7.centos docker-ce-edge docker-ce.x86_64 18.04.0.ce-3.el7.centos docker-ce-edge docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 18.03.1.ce-1.el7.centos @docker-ce-edge docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 18.02.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 18.01.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.11.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.10.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.07.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.05.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.04.0.ce-1.el7.centos docker-ce-edge docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable 根据自己的需求安装不同的版本! 3、安装docker版本 yum -y install docker-ce-18.03.1.ce yum -y install docker-ce-17.06.0.ce 4、启动Docker服务,并将其设置为开机启动: systemctl start docker && systemctl enable docker.service

5、查看Docker安装信息 docker version Client: Version: 18.03.1-ce API version: 1.37 Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:20:16 2018 OS/Arch: linux/amd64 Experimental: false Orchestrator: swarm Server: Engine: Version: 18.03.1-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:23:58 2018 OS/Arch: linux/amd64 Experimental: false 至此docker安装完成。

配置私有仓库 vi /etc/docker/daemon.json { "registry-mirrors":["https://kj96blxo.mirror.aliyuncs.com"], "insecure-registries":["rdfrepo.com"], "log-driver": "json-file", "log-opts": { "labels": "production_status", "max-size": "100m", "max-file": "5" } } 重启docker systemctl restart docker

编辑拉取镜像脚本 vi docker_pull.sh #!/usr/bin/env bash set -euo pipefail IFS=$'\n\t' import the configuration #UAT_BASEDIR=${UAT_BASEDIR-/tmp/uat} #. $UAT_BASEDIR/conf.sh docker login rdfrepo.com -u rdf -p 'password' docker pull rdfrepo.com/rdf_cloud/tools/elasticsearch:5.6.9 docker pull rdfrepo.com/rdf_cloud/tools/graylog:latest docker pull mongo:3 echo "pull done"

创建 Swarm集群 在 swarm-manager 上执行如下命令创建 swarm,使用命令docker swarm init --advertise-addr 192.168.254.128 docker swarm init --advertise-addr 192.168.254.128 添加 node 执行 docker node ls 查看当前 swarm 的 node,目前只有一个 manager。 如果当时没有记录下 docker swarm init 提示的添加 worker 的完整命令,可以通过docker swarm join-token worker查看。 在另一台机器上执行 docker swarm join --token SWMTKN-1-5pr9limmz5uw4v7n9ortq1dhuypkspttiswclfkwr6m3bhgg2f-2ntx2m8g5lbi9bok1c4fm3qap 192.168.254.128:2377 执行 docker node ls 查看当前 swarm 的 node,有2个容器 可以加多个worker docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION jm22z84fc768ofrlfy5odpqdo * worker1 Ready Active Leader 18.03.1-ce yr3h34s7rcrsv3o0ozqibvq51 worker2 Ready Active 18.03.1-ce hhyq9t8r02cht0rdt1a57fqei worker3 Ready Active 18.03.1-ce

docker swarm一些命令 创建docker swarm集群 docker swarm init --advertise-addr 192.168.254.128 将worker节点加入集群 docker swarm join --token [打码的token] 192.168.254.128:2377 查看节点情况: sudo docker node ls 强制删除集群,如果是manager,需要加–force docker swarm leave --force (在manager上) docker swarm leave (在worker上)

查看swarm worker的连接令牌 docker swarm join-token worker 查看swarm manager的连接令牌 docker swarm join-token manager 使旧令牌无效并生成新令牌 docker swarm join-token --rotate

要先选一个worker升级为manager之后再降级 将节点升级为manager docker node promote (HOSTNAME) 将节点降级为worker docker node demote (HOSTNAME)

查看运行的容器 docker ps 在容器914007da5ecd中开启一个交互模式的终端 sudo docker exec -ti 914007da5ecd /bin/sh or sudo docker exec -ti 914007da5ecd sh 测试redis redis-cli -h 192.168.254.128 -p 6380