coldsmog运维笔记
Linux 中间件部署
升级MySQL至最新版本
Zabbix与Zabbix-agent2部署
Galera-Cluster-MySQL 部署
JDK8 部署
FastDFS 部署
MySQL 主从备搭建
RabbitMQ 部署
Redis 部署
Nginx 部署
Gitlab + Jenkins + Sonarqube 部署
Docker 部署
keepalive的安装
Gitlab-ce 部署
Graalvm 部署
Nacos 部署
Kafka 部署
PostgreSQL 部署
MongoDB 部署
Fizz网关搭建
Vue项目部署(Nginx)
CentOS 运维笔记
centos 添加自定义服务
Linux 系统挂载
MySQL命令行
故障排查
Docker 运维笔记
keepalived 配置笔记
win 编辑EFI
本文档使用 MrDoc 发布
-
+
首页
Docker 部署
[TOC] ## 一、前言-为什么主讲CentOS安装Docker? Ubuntu、RHEL、Debian、Arch可以直接参考 [Docker中文网](http://www.docker.org.cn/book/install.html)和[菜鸟教程](https://www.runoob.com/docker/docker-tutorial.html) CentOS教程中菜鸟教程将不建议用于生产环境的便捷脚本排序较高;docker中文网推荐在CentOS下创建一个ubuntu的虚拟机并在里面运行docker…… 故本文主讲在CentOS 7下安装Docker。资料整理自 [Docker官网](https://www.docker.org.cn/book/install/supported-platform-17.html)和[菜鸟教程](https://www.runoob.com/docker/centos-docker-install.html) windows下启动Docker Desktop自带的kubernetes比较多坑,这篇比较完整[https://www.jianshu.com/p/e5c056baa8ab](https://www.jianshu.com/p/e5c056baa8ab) ## 二、系统要求 CentOS 7 或者 CentOS 8 必须启用centos-extras库。如果被禁用了,则需要重新启用它。 ``` # 禁用 $ yum-config-manager --disable centos-extras # 启用 $ yum-config-manager --enable centos-extras ``` ## 三、卸载旧版本 旧版 Docker引擎称为 docker 或 docker-engine,现 Docker引擎软件包称为docker-ce,为避免冲突卸载旧版docker依赖,新版可以直接安装升级 ``` # 卸载旧版docker,防止冲突 $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine # 卸载新版docker并删除文件,新版的版本升级不需要卸载 $ sudo yum remove docker-ce docker-ce-cli containerd.io # 主机上的映像,容器,卷或自定义配置文件不会自动删除,自行选择是否删除 $ sudo rm -rf /var/lib/docker ``` ## 四、安装方式 ### 0. 笔者自用的docker安装脚本,不想了解细节的直接复制执行 ``` yum install -y yum-utils wget yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum install -y docker-ce docker-ce-cli containerd.io touch /etc/docker/daemon.json cat>/etc/docker/daemon.json<< EOF { "registry-mirrors": ["https://dockerhub.azk8s.cn"], "log-driver":"json-file", "log-opts": {"max-size":"500m", "max-file":"3"} } EOF systemctl daemon-reload systemctl start docker systemctl enable docker wget -O /usr/local/bin/docker-compose "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose chmod +x /usr/local/bin/docker-compose ``` ### 1. 存储库安装,官方推荐,大部分用户使用,简便 ``` # yum-utils 提供 yum-config-manager指令,device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2 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 # 国内用户推荐 修改为阿里云仓库加速下载 # sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 可选 启用nightly(最新)存储库,可能需要克服一些不稳定和bug # sudo yum-config-manager --enable docker-ce-nightly # 可选 启用test(测试)存储库 # sudo yum-config-manager --enable docker-ce-test # 安装最新版docker引擎和容器 sudo yum install docker-ce docker-ce-cli containerd.io # 可选 选择查看可选版本 # yum list docker-ce --showduplicates | sort -r # 可选 安装指定版本 # sudo yum install docker-ce-18.09.1 docker-ce-cli-18.09.1 containerd.io # 如果启用了多个 Docker 仓库,则在未指定版本时,将始终安装或更新最高版本。 # 此时Docker已安装但尚未启动。 # 可选 添加当前用户到docker组,不再需要每次sudo # sudo usermod -aG docker $USER # 启动docker sudo systemctl start docker # 运行hello-world镜像以验证 sudo docker run hello-world ``` ### 2. 软件包安装。下载.npm 手动安装。每次要升级Docker引擎时,都需要下载一个新文件 到https://download.docker.com/linux/centos/ 并选择您的CentOS版本。然后浏览x86_64/stable/Packages/ 并下载您要安装的Docker版本的.rpm文件。 ``` # 创建目录并下载 mkdir -p /usr/local/docker cd /usr/local/docker wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.9-3.el7.x86_64.rpm -O package.rpm # 安装docker引擎 /usr/local/docker路径可自由修改 sudo yum install /usr/local/docker/package.rpm # 启动与验证 sudo systemctl start docker sudo docker run hello-world ``` ### 3. 使用便捷脚本 不建议在生产环境中使用这些脚本,并且在使用它们之前,您应该了解潜在的风险: - 脚本需要运行root或具有sudo特权。因此,在运行脚本之前,应仔细检查和审核脚本。 - 这些脚本尝试检测Linux发行版和版本,并为您配置软件包管理系统。此外,脚本不允许您自定义任何安装参数。从Docker的角度或您自己组织的准则和标准的角度来看,这可能导致不支持的配置。 - 这些脚本将安装软件包管理器的所有依赖项和建议,而无需进行确认。根据主机的当前配置,这可能会安装大量软件包。 - 该脚本未提供用于指定要安装哪个版本的Docker的选项,而是安装了在“ edge”通道中发布的最新版本。 - 如果已使用其他机制将Docker安装在主机上,请不要使用便捷脚本。 **警告!在本地运行它们之前,请务必检查从Internet下载的脚本!** ``` # 官方脚本 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun # 国内daocloud脚本 curl -sSL https://get.daocloud.io/docker | sh ``` ## 五、Docker Compose工具 Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YAML文件来配置应用程序的服务。然后,只要使用一个命令,就可以从配置中创建并启动所有服务。 ``` # 前往https://github.com/docker/compose/releases查看选择版本 # 下载1.28.5版本到/usr/local/bin/中,并指定名字为docker-compose wget -O /usr/local/bin/docker-compose "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" # 赋予文件可执行权限 sudo chmod +x /usr/local/bin/docker-compose # 添加软连接 sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose # 验证安装是否完成 docker-compose --version ``` 如果要从Compose 1.2或更早版本进行升级,请在升级Compose之后删除或迁移现有容器。这是因为从1.3版开始,Compose使用Docker标签来跟踪容器,并且需要重新创建容器以添加标签。 如果Compose检测到创建的没有标签的容器,它将拒绝运行,这样您就不会最终获得两组标签。如果要继续使用现有容器(例如,因为它们具有要保留的数据量),则可以使用Compose 1.5.x通过以下命令迁移它们: ``` docker-compose migrate-to-labels``` 另外,如果您不担心保留它们,可以将其删除。撰写只是创建新的。 ``` docker container rm -f -v myapp_web_1 myapp_db_1...``` 如果需要卸载 ``` sudo rm /usr/local/bin/docker-compose``` 该工具用户手册,参考[菜鸟教程 Docker Compose](https://www.runoob.com/docker/docker-compose.html) ## 六、国内镜像加速 ``` # 创建docker的配置文件 touch /etc/docker/daemon.json # 命令行直接执行,添加了国内镜像并限制日志大小 cat > /etc/docker/daemon.json << EOF { "registry-mirrors": ["https://dockerhub.azk8s.cn"], "log-driver":"json-file", "log-opts": {"max-size":"500m", "max-file":"3"} } EOF # 重启docker生效 systemctl daemon-reload systemctl restart docker ``` ## 七、修改默认配置,如镜像存储位置 centos7 修改docker.service 参考[Docker如何修改默认镜像存储位置](https://www.cnblogs.com/yangww/p/11334895.html) ## 八、设置开机自启 ``` # centos7下命令行直接执行 systemctl enable docker # centos6下,编辑/etc/rc.local文件追加 service docker start ```
寒烟濡雨
2021年6月9日 10:10
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码