当前位置: 首页 > news >正文

一、docker的安装

一、docker桌面

二、docker的配置文件

1、docker配置文件位置/etc/docker/daemon.json

使用json格式,graph=data-root

{
    "graph":"/deploy/docker",
    "registry-mirrors": ["https://8auvmfwy.mirror.aliyuncs.com"],
    "insecure-registries": ["192.168.1.2","192.168.1.3:5000"],
    "live-restore": "true",
    "exec-opts": ["native.cgroupdriver=systemd"],
    "storage-driver":"overlay2",
    "ipv6": false,
    "bip":"172.18.0.1/24"
    "default-address-pools": [
        {
            "scope": "local",
            "base":"172.17.0.0/16",
            "size":24
        }
    ],
    "log-driver": "json-file",
    "log-opts": {
    	"max-size": "50m",
        "max-size": "5m"
    }
}
graph:docker根目录的存放位置
registry-mirrors:镜像加速器
insecure-registries:指定信任仓库
live-restore:容器的存活不依赖与docker引擎,docker引擎停止不影响容器运行
native.cgroupdriver:指定cgroup驱动,默认值为cgroupfs,推荐值为systemd
storage-driver:存储驱动,overlay2、devicemapper、aufs
log-driver:日志驱动,json-file
bip:设置Docker0的默认IP,bip:设置Docker0的默认IP,
default-address-pools:配置容器使用的子网地址池
	base:指定CIDR网段,172.17.0.0/16表示子网掩码长度为16。相当于主网络
	size:变长子网掩码,数值要大于等于16。相当子网络
log-opts:日志策略。单个日志文件最大50M,最多保留3个
ipv6:是否开启ipv6,true,false

仅当storage-driver为devicemapper时可用

指定单个容器可用数据空间20GB、docker可用数据空间200GB、元数据可用空间4GB

{
    "storage-opt": [ "dm.basesize=20G","dm.loopdatasize=200G","dm.loopmetadatasize=4G" ]
}

2、案例

注:graph=data-root

{
"data-root": "/data/docker",
"insecure-registries": ["192.168.65.129:80"],
"registry-mirrors": ["https://8auvmfwy.mirror.aliyuncs.com"],
"log-driver": "json-file",
"log-opts": {
    "max-size": "100m",
    "max-file": "3"
 },
"default-ulimits": {
    "nofile": {
      "Name": "nofile",
      "Hard": 128000,
      "Soft": 128000
    }
}
}

三、docker引擎

(一)安装

1、contos7 安装

1.1 卸载旧版本
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

卸载 Docker 时,存储在 中的映像、容器、卷和网络不会自动删除。/var/lib/docker/

1.2 安装方法

您可以根据需要以不同的方式安装 Docker 引擎:

  • 您可以设置 Docker 的存储库并安装 从他们那里,以便于安装和升级任务。这是 推荐的方法。
  • 您可以下载 RPM 软件包并手动安装并管理 完全手动升级。这在安装等情况下很有用 在无法访问互联网的气隙系统上的 Docker。
  • 在测试和开发环境中,您可以使用自动化的便利脚本来安装 Docker。
1.3 使用yum安装
1.3.1 设置yum源
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
1.3.2 安装 Docker 引擎

1、安装 Docker Engine、containerd 和 Docker Compose

安装最新版本

sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

安装之前版本

$ yum list docker-ce --showduplicates | sort -r
$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-buildx-plugin docker-compose-plugin

此命令安装 Docker,但不启动 Docker。它还会创建一个组,但是,默认情况下不会向该组添加任何用户。docker

2、启动 Docker

$ sudo systemctl start docker

3、通过运行映像来验证 Docker 引擎安装是否成功。hello-world

$ sudo docker run hello-world
1.4 升级docker引擎

要升级 Docker 引擎,请按照安装说明进行操作, 选择要安装的新版本。

1.5 从包安装

如果您无法使用 Docker 的存储库来安装 Docker,您可以下载您的版本文件并手动安装。

  1. 转到 https://download.docker.com/linux/centos/ 并选择您的 CentOS 版本。然后浏览并下载要安装的 Docker 版本的文件。x86_64/stable/Packages/``.rpm

  2. 安装 Docker 引擎,将下面的路径更改为下载 Docker 包的路径

     $ sudo yum install /path/to/package.rpm
    

    Docker 已安装,但尚未启动。组已创建,但没有 用户将添加到组中。docker

  3. 启动 Docker。

     $ sudo systemctl start docker
    
  4. 通过运行映像来验证 Docker 引擎安装是否成功。hello-world

     $ sudo docker run hello-world
    

    此命令下载测试映像并在容器中运行它。当 容器运行,它会打印确认消息并退出。

1.6 使用脚本安装(最新版)
 $ curl -fsSL https://get.docker.com -o get-docker.sh
 $ sudo sh ./get-docker.sh --dry-run
1.7 卸载Docker
  1. 卸载 Docker Engine、CLI、containerd 和 Docker Compose 软件包:

     $ sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
    
  2. 主机上的映像、容器、卷或自定义配置文件 不会自动删除。删除所有映像、容器和 卷:

     $ sudo rm -rf /var/lib/docker
     $ sudo rm -rf /var/lib/containerd
    

您必须手动删除任何已编辑的配置文件。

2、linux安装静态二进制文件

  1. 下载静态二进制存档。转到 https://download.docker.com/linux/static/stable/, 选择您的硬件平台,然后下载与 要安装的 Docker 引擎版本。.tgz

  2. 使用该实用程序提取存档。提取 和 二进制文件。tar``dockerd``docker

    $ tar xzvf /path/to/<FILE>.tar.gz
    
  3. 可选:将二进制文件移动到可执行文件路径上的目录,例如 如。如果跳过此步骤,则必须提供 调用或命令时可执行。/usr/bin/``docker``dockerd

    $ sudo cp docker/* /usr/bin/
    
  4. 启动 Docker 守护进程:

    $ sudo dockerd &
    

    如果需要使用其他选项启动守护进程,请修改上述内容 命令或创建并编辑文件以添加自定义配置选项。/etc/docker/daemon.json

  5. 通过运行映像验证 Docker 是否已正确安装。hello-world

    $ sudo docker run hello-world
    

    此命令下载测试映像并在容器中运行它。当 容器运行,它会打印一条消息并退出。

3、以非 root 用户身份管理 Docker

要创建组并添加用户,请执行以下操作:docker

  1. 创建组。docker

    $ sudo groupadd docker
    
  2. 将您的用户添加到组中。docker

    $ sudo usermod -aG docker $USER
    
  3. 注销并重新登录,以便重新评估您的组成员身份。

    如果您在虚拟机中运行 Linux,则可能需要 重新启动虚拟机以使更改生效。

    您还可以运行以下命令来激活对组的更改:

    $ newgrp docker
    
  4. 验证是否可以在没有 .docker``sudo

    $ docker run hello-world
    

    此命令下载测试映像并在容器中运行它。当 容器运行,它会打印一条消息并退出。

    如果您最初在添加用户之前运行了 Docker CLI 命令 对于该组,您可能会看到以下错误:sudo``docker

    WARNING: Error loading config file: /home/user/.docker/config.json -
    stat /home/user/.docker/config.json: permission denied
    

    此错误表示目录的权限设置不正确,因为之前使用了该命令。~/.docker/``sudo

    若要解决此问题,请删除目录(已重新创建) 自动,但任何自定义设置都将丢失),或更改其所有权和 使用以下命令的权限:~/.docker/

    $ sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
    $ sudo chmod g+rwx "$HOME/.docker" -R
    

4、将 Docker 配置为使用 systemd 启动启动

许多现代 Linux 发行版使用 systemd 来 管理系统引导时启动哪些服务。在 Debian 和 Ubuntu 上, 默认情况下,Docker 服务在启动时启动。要自动启动 Docker 和 对于使用 systemd 的其他 Linux 发行版,在引导时运行 以下命令:

$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service

若要停止此行为,请改用。disable

$ sudo systemctl disable docker.service
$ sudo systemctl disable containerd.service

如果需要添加 HTTP 代理,请为 Docker 运行时文件,或进行其他自定义,请参阅自定义 systemd Docker 守护程序选项。

5、配置默认日志记录驱动程序

Docker 提供日志记录驱动程序 从主机上运行的所有容器收集和查看日志数据。这 默认日志记录驱动程序 ,将日志数据写入 JSON 格式的文件 主机文件系统。随着时间的推移,这些日志文件的大小会扩大,导致 磁盘资源可能耗尽。json-file

为避免过度使用磁盘存储日志数据的问题,请考虑以下事项之一 选项:

  • 配置日志记录驱动程序以启用日志轮换json-file
  • 使用备用日志记录驱动程序,例如默认执行日志轮换的“本地”日志记录驱动程序
  • 使用将日志发送到远程日志记录聚合器的日志记录驱动程序。

相关文章:

  • LVTTL(Low Voltage Transistor-Transistor Logic)电平详解
  • Torch 模型 model => .onnx => .trt 及利用 TensorTR 在 C++ 下的模型部署教程
  • opencv-显示图片
  • python连接数据库速查示例
  • 【python实战】-- 选择解压汇总mode进行数据汇总20250310更新
  • 探讨如何在AS上构建webrtc(3)分享WebRTC-CMakeBuild轻量化工程
  • C语言处理字符串的十个函数(附带大量实例)
  • 前端生成二维码 + 条形码
  • Python 异步编程入门:从零到上手 asyncio 协程(附实战案例)
  • Taro 面试题
  • 前端项目Axios封装Vue3详细教程(附源码)
  • 基于 Qwen2.5-14B + Elasticsearch RAG 的大数据知识库智能问答系统
  • 23种设计模式
  • 用物理信息神经网络(PINN)解决实际优化问题:全面解析与实践
  • 途游游戏25届AI算法岗内推
  • AMIS低代码构建系统,定制界面
  • VScode:运行程序停止后,频繁出现终端进程被终止
  • Kaiming Uniform 初始化:神经网络权重初始化的优雅解决方案
  • Facebook营销自动化—— Python脚本 + 代理IP实现内容高效分发
  • Vue.js 全面解析:构建现代前端应用的渐进式框架
  • 网站首页改版影响优化/写软文
  • 重庆网站建设哪家有/搜狗站长管理平台
  • 安阳网站建设优化渠道/线上教育培训机构十大排名
  • wordpress博客页面模板下载/白山seo
  • gofair外贸建站/互联网app推广具体怎么做
  • 北京建立公司网站/游戏推广引流