docker安装教程
网址:https://docs.docker.com/install/linux/docker-ce/centos/
https://segmentfault.com/a/1190000009544565
centos7上删除docker重新安装docker
网址:https://blog.csdn.net/dong19891210/article/details/84585251
docker拉取镜像报错(docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled)
网址:https://blog.csdn.net/BigData_Mining/article/details/87869147
docker配置国内阿里云镜像源(方法二)
网址:https://blog.csdn.net/m0_37886429/article/details/80323149
docker swarm 删除节点 (解散集群)
网址:https://blog.csdn.net/xiunai78/article/details/89471100
docker安装及搭建portainer可视化UI
https://www.jianshu.com/p/fbff35bea72d
docker端口映射或启动容器时报错 driver failed programming external connectivity on endpoint quirky_allen
网址:https://blog.csdn.net/whatday/article/details/86762264
Docker容器Centos不能使用systemctl命令问题
https://www.cnblogs.com/chloneda/p/bug-dock-os.html
docker学习系列:https://www.cnblogs.com/cac2020/category/1503597.html
一、基础环境
1、操作系统:centos 7
查看linux版本号: cat /etc/redhat-release
2、官方参考文档: https://docs.docker.com/install/linux/docker-ce/centos/
二、Dokcer离线安装
1、下载安装文件,.rpm文件
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
2、将下载文件上传至虚拟机安装路径
3、给文件路径下的所有文件赋予权限
chmod 777 -R /usr/local/src(换成自己的文件路径)
4、切换到文件路径,安装
sudo yum install /path/to/package.rpm(换成自己的文件路径)
5、启动docker。
sudo systemctl start docker
6、验证docker是否成功安装
sudo docker run hello-world #拉取镜像并运行
systemctl status docker #查看Docker状态
docker --version #查看Docker版本
查看docker状态时,看到Active里有active(running)表示容器正常运行。
查看docker版本时,docker的客户端和服务端都能看到,表示docker成功安装。
如果出现不能连接的字样,执行下面操作:
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
systemctl daemon-reload
sudo service docker restart
sudo service docker status (should see active (running))
sudo docker run hello-world
root账户下不需要加上sudo
如果docker安装后出现找不到配置文件之类的问题,需卸载重新安装一次,安装离线文件前先下载所需依赖。
移除掉旧的版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
删除所有旧的数据
sudo rm -rf /var/lib/docker
rm -rf /etc/systemd/system/docker.service.d
rm -rf /var/lib/docker
rm -rf /var/run/docker
查询dokcer安装的包
yum list installed | grep docker
删除安装包
yum remove 安装的docker包
安装依赖包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
安装稳定版仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装最新版本的 Docker Engine-Community 和 containerd
sudo yum install docker-ce docker-ce-cli containerd.io
三、Dokcer swarm集群
1、克隆虚拟机,一主二从。
init 6:重启
hostname:查看主机名称
设置主机名称 vi /etc/hostname
2、在主上面创建docker swarm集群
先启动docker(各个节点创建前,都要先启动docker):systemctl start docker
接着在管理节点机器上创建docker swarm集群:docker swarm init --advertise-addr 192.168.1.81(管理节点ip)
3、在从中添加工作节点
复制管理节点生成token信息,添加工作节点
docker swarm join ‐‐token xxx(管理节点生成的token信息) 192.168.1.81:2377
添加工作节点前,先把防火墙关掉。systemctl stop firewalld
添加工作节点可能出现, You are attempting to leave the swarm on a node that is participating as a manager. Removing the last manager erases all current state of the swarm. Use --force
to ignore this message.的错误信息。
管理节点,解散集群:docker swarm leave --force
出现This node joined a swarm as a worker.字段表明工作节点添加成功
4、验证
查看管理节点集群信息:docker node ls
出现overlay swarm字段,表明管理节点设置成功。
5、在docker swarm中部署项目
docker service create ‐‐replicas 1 ‐‐name helloworld alpine ping docker.com
6、查看docker swarm集群中的服务
查看当前 Swarm 集群运行的服务:docker service ls
查看部署具体服务的详细信息:docker service inspect 服务名称
查看服务在集群节点上的分配以及运行情况:docker service ps 服务名称
7、修改副本数量
在管理节点上,修改服务副本的数量:docker service scale helloworld=5
8、访问服务
在manager1上创建一overlay为驱动的网络(默认使用的网络连接ingress)
docker network create ‐d=overlay my‐multi‐host‐network
在集群管理节点manager1上部署一个nginx服务
docker service create \
‐‐network my‐multi‐host‐network \
‐‐name my‐web \
‐p 8080:80 \
‐‐replicas 2 \
nginx
在管理节点查看服务的运行情况:
docker service ps my‐web
9、访问测试
ip+port(宿主机ip+映射的宿主机端口)