参考官网整理笔记:CentOS安装Docker、Docker Compose

6 篇文章 0 订阅
6 篇文章 0 订阅

转载并整理自Docker Docs:https://docs.docker.com/engine/install/centos/

Docker安装方法

您可以根据需要,以不同方式安装 Docker Engine:

  • 大多数使用Docker存储库安装,以便于安装和升级任务。这是推荐的方法。

  • 也可以下载 RPM 包并手动安装,完全手动管理升级。比如在无法访问互联网的系统上安装Docker的情况下非常有用。

  • 在测试和开发环境中,可选择使用自动化的便利脚本来安装Docker。

使用存储库安装

在新主机上首次安装Docker Engine之前,您需要设置Docker存储库。之后,您可以从存储库安装和更新Docker。

设置存储库

安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定存储库。

sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker 引擎

  • 安装最新版本的 Docker Engine 和 containerd,或者按下面安装特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io

如果您启用了多个 Docker 存储库,则在yum install或 yum update命令中未指定版本的情况下安装或更新始终会安装可能的最高版本,这可能不适合您的稳定性需求。
此命令会安装 Docker,但不会启动 Docker。它还会创建一个 docker组,但是,默认情况下它不会向该组添加任何用户。

  • 要安装特定版本的 Docker Engine,请在 repo 中列出可用版本,然后选择并安装一种。以下命令列出并排序您的存储库中可用的版本。此示例按版本号对结果进行排序,从高到低:
yum list docker-ce --showduplicates | sort -r

返回的列表取决于启用了哪些存储库,并且特定于您的 CentOS 版本(.el7在本示例中由后缀表示)。

# 使用版本号:后,-前的版本字符,如3:20.10.17-3.el7,VERSION_STRING=20.10.17
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin

启动 Docker

sudo systemctl start docker

从包安装

参考原官方文档:https://docs.docker.com/engine/install/centos/#install-from-a-package

使用便利脚本安装

参考原官方文档:https://docs.docker.com/engine/install/centos/#install-using-the-convenience-script

卸载 Docker 引擎

卸载 Docker Engine、CLI 和 Containerd 包:

sudo yum remove docker-ce docker-ce-cli containerd.io

删除文件

主机上的映像、容器、卷或自定义配置文件不会自动删除。您必须手动删除任何已编辑的配置文件。

# 删除所有镜像、容器和卷
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

对外提供TCP的Docker服务(默认:2375端口,建议修改)

编辑/usr/lib/systemd/system/docker.service,在ExecStart=/usr/bin/dockerd后增加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
这里2375可以自己定义一个端口号,默认是2375

vi /usr/lib/systemd/system/docker.service
# 增加后如下
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

重新加载配置文件

systemctl daemon-reload

重启docker服务

systemctl restart docker

如果有防火墙,配置端口开放,就可以远程连接docker服务了

docker命令免sudo配置

docker命令本身不需要sudo执行的,但是因为安装的用户不是root用户,所以安装的时候需要sudo权限,导致安装之后的docker需要使用sudo执行,一个是不方便,另一个是其他工具或依赖于docker的服务(如minikube等)因为不能sudo权限调用docker就会发生错误,所以介绍一下免除sudo,而且不使用sudo运行docker也避免了docker容器拥有权限过高的隐患

  1. 检查是否存在docker用户组
cat /etc/group | grep docker
# 输出如下,即为有用户组
docker:x:499:
  1. 如果没有就创建docker组,第一步有用户组的就直接跳过这一步
sudo groupadd docker
  1. 将用户添加到docker分组
sudo usermod -aG docker 用户名
  1. 查看是否已添加
cat /etc/group
# 输出中,docker的组后面有刚刚的用户名即可
docker:x:499:用户名
  1. 重启docker
sudo systemctl restart docker
  1. 给docker.sock添加权限
sudo chmod a+rw /var/run/docker.sock

Docker Compose

官方文档:https://docs.docker.com/compose/install/

  • 需要保证已安装Docker,下面的说明概述了 Compose当前稳定版本 ( v1.29.2 ) 的安装。要安装不同版本的Compose,请将给定的版本号替换为您想要的版本号。

安装Docker Compose

运行此命令以下载Docker Compose的当前稳定版本

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

对二进制文件应用可执行权限

sudo chmod +x /usr/local/bin/docker-compose

注意:如果docker-compose安装后命令失败,请检查您的路径。您还可以/usr/bin在路径中创建指向或任何其他目录的软链接。

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试安装

docker-compose --version

卸载Docker Compose

如果您使用curl方式安装,使用以下命令卸载Docker Compose :

sudo rm /usr/local/bin/docker-compose

如果您使用pip方式安装,使用以下命令卸载Docker Compose :

pip uninstall docker-compose

配置Docker日志驱动程序

Docker默认json-file日志驱动程序,该日志驱动程序存储的日志文件可能会导致大量磁盘空间用于生成容器的日志输出,从而导致磁盘空间耗尽。

Docker 将json-file日志驱动程序(无日志轮换)作为默认设置,为保持与旧版本 Docker 的兼容性,以及在将Docker用在 Kubernetes 运行时的情况下。

默认的日志驱动程序是json-file,以下示例将默认日志记录驱动程序设置为local日志驱动程序:
修改/etc/docker/daemon.json,没有则创建daemon.json文件添加配置

{
  "log-driver": "local"
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值