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

Docker 安装配置

本章背景知识

本章主要介绍在 Centos 操作系统平台上进行安装和配置Docker Engine。

环境准备

1、操作系统支持。

CentOS、Debian、Fedora、Raspbian、RHEL、SLES、Ubuntu、Binaries

2、启用yum 软件仓库源。

centos-extras

编者注:Centos 默认已经开启centos-extras 源。

3、移除Docker旧版本。

 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

4、关闭 firewalld 防火墙,安装 iptables 防火墙。

# 关闭防火墙
systemctl stop firewalld# 取消开机启动
systemctl disable firewalld#安装iptables
yum install iptables-services -y# 重启防火墙使配置生效
systemctl start iptables# 设置防火墙开机启动
systemctl enable iptables
如果不执行这一步,Docker 服务器无法自动添加规则
[(103条消息) centos7安装docker报错iptables v1.4.21: Couldn‘t load target `DOCKER-ISOLATION‘_尧、木子的博客-CSDN博客](https://blog.csdn.net/weixin_38879931/article/details/125563912)

5、创建默认存储目录

mkdir /data

安装方法

1、yum 仓库:

使用 yum 软件仓库联网安装。

2、RPM包:

下载 RPM 包并手动安装,并且手动管理升级。这对于有些无法访问互联网的机器特别有用。

3、自动化脚本:

在测试和开发环境中,用户使用自动化脚本安装 Docker。

编者注:本章节介绍【yum仓库】和【RPM包】安装方式。

yum 仓库:联网安装

设置 yum 软件仓库

1、安装 yum-utils 软件包。
2、设置Docker软件仓库。

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

Docker Engine 安装步骤

1、安装 Docker Engine ,容器和 Docker Compose

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

2、安装过程中,会提示验证指纹,你需要接受并验证它。

3、若需要安装特定版本的 Docker 引擎,你需要列出所有的可用版本。

yum list docker-ce --showduplicates | sort -r

4、启动 Docker

sudo systemctl start docker

5、验证 Docker 是否能够运行hello-world镜像

sudo docker run hello-world

RPM 包:离线安装

1、大多数生产环境是不允许连接外网的,所以只能使用下载 RPM 包后手动安装。

2、由于安装 Docker RPM 包的相关依赖包非常复杂,所以这里就使用制作好的 Yum 离线缓存,进行安装,简化安装过程。

设置 yum 软件仓库

1、下载对应网盘中的 yum 仓库缓存包和配置文件,找到对应操作系统版本。
2、上传对应 yum.tar.gzyum.repos.d.tar 包。

cd /var/cache/
rm -rf /var/cache/yum
tar -zxvf yum.tar.gz 
cd /etc/
rm -rf /etc/yum.repos.d
tar -zxvf yum.repos.d.tar.gz

Docker Engine 安装步骤

1、安装 Docker Engine ,容器和 Docker Compose

 sudo yum -C  --nogpgcheck install -y yum-utils
sudo yum -C  --nogpgcheck install docker-ce docker-ce-cli containerd.io docker-compose-plugin
选项说明
-C不更新缓存
–nogpgcheck不验证指纹。
2、启动 Docker
sudo systemctl start docker

3、Docker 镜像本地化仓库配置

Docker Hub 在国内访问比较慢,可以使用本地化网易镜像,提高下载镜像的速度。

4、配置镜像源地址。

root# vim /etc/docker/daemon.json---------------写入以下内容--------------{
....
"registry-mirrors": ["https://hub-mirror.c.163.com"]
....
}

5、重启 Docker 服务。

root# sudo systemctl restart docker

6、验证 Docker 是否能够运行 hello-world 镜像

sudo docker run hello-world

配置 Docker Engine 服务

本节主要介绍Docker Engine 服务配置。

Docker Engine管理用户

以上方式安装后,不会自动创建管理Docker服务的普通用户。每次操作Docker都需要root用户,这样非常不方便。针对这个问题,可以创建新的普通用户,并且加入到docker用户组。

1、创建Docker Engine专用管理用户,并加入docker用户组。

 sudo useradd docker -g docker

Docker Engine服务管理

1、Docker Engine 服务开启启动

systemctl enable docker

2、systemctl 启停Docker Engine服务。

sudo systemctl start docker.service
sudo systemctl status docker.service
sudo systemctl stop docker.service

3、service 启停Docker Engine服务。

root# sudo service docker start
root# sudo service docker status
root# sudo service docker stop

Docker Engine更改默认存储目录

1、Docker 默认的存储目录是存放在/var/lib/docker,这个目录一般挂载在根(/) 目录下。

2、这个目录存储大量的镜像和容器,非常容易撑满磁盘,所以需要更换默认的存储目录。

3、配置默认存储目录。

root# vim /etc/docker/daemon.json---------------写入以下内容--------------{…snip…"data-root": "/data"…snip…}

4、关闭Docker 服务。

sudo systemctl stop docker

5、迁移Docker 容器和镜像数据。

sudo  mv /var/lib/docker/* /data/

6、重启Docker服务。

root# sudo systemctl start docker

7、检查是否能够成功拉取镜像。

root# sudo docker pull hello-world
也可以使用软连接方式进行数据迁移。
http://www.lryc.cn/news/10391.html

相关文章:

  • 死锁检测组件-设想
  • 线程池的使用
  • 字节码指令
  • TLS/SSL证书彻底扫盲
  • WGCNA | 值得你深入学习的生信分析方法!~(网状分析-第五步-高级可视化)
  • try catch finally执行顺序
  • 2023年数学建模美赛D题(Prioritizing the UN Sustainability Goals)分析与编程
  • 35岁测试工程师被辞退,给你们一个忠告
  • 华为OD机试题 - 租车骑绿岛(JavaScript)
  • Linux下Python脚本的编写解析fio(minimal格式)(三)
  • 【实战场景二】如何设计一个分布式锁?
  • Java中ThreadLocal类详解
  • 从一致性角度考虑推荐冷启动长尾推荐问题(一)
  • 电脑(Windows)常用快捷键
  • Java类加载器
  • 信号完整性设计规则之单根信号失真最小化
  • Python3 数据结构
  • Compose-Navigation带参传递
  • 【函数栈帧的创建和销毁】 -- 神仙级别底层原理,你学会了吗?
  • Promise的使用及原理
  • 怎么拥有一个帅气的 CMD 命令窗口 ❓ - Windows
  • 时隔多年再学习Vuex,什么?原来如此简单!
  • Linux笔记_gcc
  • 2023美赛MCM A题 详细思路
  • c#: NetTopologySuite凹凸多边形计算
  • NFT Insider #86:A16z 领投,YGG 获得 1380 万美元融资,The Sandbox与《北斗神拳》合作
  • Sort_Algorithm
  • 【初探人工智能】2、雏形开始长成
  • 【LeetCode】剑指 Offer(2)
  • 【JavaSE】Lambda、Stream(659~686)