Ubuntu、RHEL、Debian、Arch可以直接参考 Docker中文网和菜鸟教程
CentOS教程中菜鸟教程将不建议用于生产环境的便捷脚本排序较高;docker中文网推荐在CentOS下创建一个ubuntu的虚拟机并在里面运行docker……
故本文主讲在CentOS 7下安装Docker。资料整理自 Docker官网和菜鸟教程
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
# 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
# 可选 启用nightly(最新)存储库,可能需要克服一些不稳定和bug
# sudo yum-config-manager --enable docker-ce-nightly
# 可选 启用test(测试)存储库
# sudo yum-config-manager --enable docker-ce-test
# 添加阿里云镜像加速
$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装最新版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 仓库,则在未在 yum install 或 yum update 命令中指定版本的情况下,进行的安装或更新将始终安装最高版本,这可能不适合您的稳定性需求。
# Docker已安装但尚未启动。docker创建该组,但没有用户添加到该组
# 可选 添加当前用户到docker组,不再需要每次sudo
# sudo usermod -aG docker $USER
# 启动docker
$ sudo systemctl start docker
# 运行hello-world镜像以验证
$ sudo docker run hello-world
转到https://download.docker.com/linux/centos/ 并选择您的CentOS版本。然后浏览x86_64/stable/Packages/ 并下载您要安装的Docker版本的.rpm文件。
# 安装docker引擎 /usr/local/docker路径可自由修改
$ sudo yum install /usr/local/docker/package.rpm
# 启动与验证
$ sudo systemctl start docker
$ sudo docker run hello-world
不建议在生产环境中使用这些脚本,并且在使用它们之前,您应该了解潜在的风险:
脚本需要运行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
Compose是用于定义和运行多容器Docker应用程序的工具。通过Compose,您可以使用YAML文件来配置应用程序的服务。然后,只要使用一个命令,就可以从配置中创建并启动所有服务。
# 前往https://github.com/docker/compose/releases查看选择版本
# 下载1.26.1/docker-compose-Linux-x86_64到/usr/local/bin/中,并指定名字为docker-compose
$ wget https://github.com/docker/compose/releases/download/1.26.1/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
# 赋予文件可执行权限
$ 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.cnblogs.com/hyry/p/13223541.html