docker 离线安装18-03centos7.5
基础配置Centos7系统,关闭防火墙、selinux
systemctl stop firewalld.service
rpm -ivh docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm
rpm -ivh pigz-2.3.3-1.el7.centos.x86_64.rpm
rpm -ivh container-selinux-2.55-1.el7.noarch.rpm
systemctl start docker.service 启动docker
systemctl enable docker.service 设置开机自启
systemctl enable docker.service && systemctl start docker.service
docker info 查看安装版本信息
拷贝centos7.tar镜像包到/opt/
docker load < centos7.tar
docker images 查看镜像
docker rmi image 删除镜像(镜像名)
docker rmi -f image 删除镜像(镜像id)
docker stop 容器名 (停止)
docker rm 容器名 (删除)
vim Dockerfile 写dockerfile
docker tag e934aafc2206 centos:server 为镜像改名标签
docker image rm centos:latest
docker build -t nginx:server . 生成镜像 Nginx自定义server标签名
docker run -d -p 81:8080 nginx:server
启动镜像 81暴露端口号8080dockerfile定义端口号 镜像名:标签
docker ps 查看运行容器 -a所有
docker exec -it reverent_murdock /bin/bash 进入容器 reverent_murdock容器名
exit 退出
docker logs 镜像名 –f 查看容器日志
docker save 镜像ID > centos.tar 打包镜像
docer load < 打包镜像.tar
docker history ee1acd0c2bc0 --no-trunc 镜像构建过程
docker network create yzys docker创建单机网络
docker network create -d overlay yzys docker创建集群网络
docker stack deploy -c ywjgpt.yml ywjgpt_web
docker stack rm ywjg_web
docker service logs -f ywjgpt_web
docker-swarm 起服务
docker swarm init 启动集群swarm服务
将工作节点加入docker集群 在每个节点执行
Docker swarm join --token SWMTKN-1-3jszgab1gx8pcole9zgtrrqyjjq8bizxixnqj1fo6hv8bllpia-7qhik8jc0096x6974teptt65j 192.168.44.54:2377
查看集群信息
Docker node ls
Docker stack ls 列出现有堆栈
Docker stack ps 列出堆栈中任务
Docker stack rm 删除一个或多个任务
Docker stack services 列出堆栈中的服务
Docker stack deploy 部署新的堆栈
双主节点设置
docker swarm join
docker swarm join-token manager
docker swarm join --token SWMTKN-1-4h38kxard79ujmelkie1z7pw7xx30s3pgtjnxafm1ltn46imdg-eiksx7lqydqvt3m7n8jc45n2y 192.168.31.230:2377
批量删除Docker中已经停止的容器
#显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID,
docker ps -a|grep Exited|awk '{print $1}'
#查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器
docker rm `docker ps -a|grep Exited|awk '{print $1}'`
docker swarm 问题:"Error response from daemon: context deadline exceeded"
worker 节点无法强制退出 docker swarm 集群
# docker swarm leave --force
Error response from daemon: context deadline exceeded
systemctl stop docker.service
rm -rf /var/lib/docker/swarm
systemctl start docker.service
docker swarm leave -f
Docker swarm集群节点管理
一、 docker swarm初始化 新增
docker swarm init
docker swarm 增加master节点
docker swarm join-token manager
docker swarm 增加worker节点
docker swarm join-token worker
将打印出的命令语句在新节点上执行即可
二、查看集群节点
docker node ls
MANAGER STATUS列
Leader : master 节点
Reachable:可替代master
空: worker节点
Reachable: 不能与其他管理器通信的管理器通信,不能替代master
三、docker swarm删除、降级节点
降级
docker node demote 节点id 降级为worker节点
删除
docker swarm leave (要删除的节点上执行)
停用,该节点上的容器会迁移到其他节点
docker node update --availability drain 节点id
删除节点前,需先停该节点的docker服务
systemctl stop docker.service
docker node rm 节点id
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了