rhel8安装docker-ce

  • Docker解决了什么问题
  • 安装DOcker
    • 配置宿主机网卡转发
    • 开启防火墙的IP伪装(SNAT)
    • 检查是否开启extras仓库
    • 卸载旧版本Docker-CE(如果有)
    • 安装yum-utils(dnf无需安装)
    • 添加docker-ce的软件仓库(aliyun)
    • 卸载podman冲突包(Centos8无需执行)
    • 安装docker-ce
    • 开机自启动docker服务并现在启动
    • 查看docker版本
  • 配置docker存储目录
    • 查看docker的默认存储目录
    • 修改docker主配置文件
    • 重启docker服务
    • 查看新的存储目录
  • 配置国内镜像加速源
    • 编辑docker配置文件
    • 添加源配置信息
    • 如果和存储目录一起修改
    • 改完要重启docker服务
    • 拉取测试镜像
  • 其他配置参数
  • 配置代理拉取海外镜像
  • 免root运行docker

系统版本声明: rhel8

Docker解决了什么问题

Docker解决了"程序在我这跑的好好的,在你那怎么就不能运行了呢!"
解决了环境一致性的问题.
容器就是将一套运行环境打包成一个镜像.实现开箱即用.
容器不是虚拟机,与宿主机共享一个内核.

安装DOcker

参考文档: https://help.aliyun.com/document_detail/264695.html#section-m0l-g22-ska

配置宿主机网卡转发

参考: https://feisky.gitbooks.io/sdn/content/linux/params.html

加载br_netfilter内核

[root@localhost ~]# modprobe br_netfilter
[root@localhost ~]# ls /proc/sys/net/bridge
bridge-nf-call-arptables bridge-nf-filter-pppoe-tagged
bridge-nf-call-ip6tables bridge-nf-filter-vlan-tagged
bridge-nf-call-iptables bridge-nf-pass-vlan-input-dev

开启网卡转发功能

[root@node-0001 ~]# vim /etc/sysctl.conf
# 是否在ip6tables链中过滤IPv6包
net.bridge.bridge-nf-call-ip6tables = 1
# 是否在iptables链中过滤IPv4包
net.bridge.bridge-nf-call-iptables = 1
# 开启ipv4转发功能
net.ipv4.ip_forward = 1# 使内核配置生效
[root@node-0001 ~]# sysctl -p

开启防火墙的IP伪装(SNAT)

# 允许防火墙伪装IP
firewall-cmd --add-masquerade
firewall-cmd --add-masquerade --permanent

检查是否开启extras仓库

yum repolist

卸载旧版本Docker-CE(如果有)

sudo yum -y remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine# 新版本卸载
yum -y autoremove docker-ce docker-scan-plugin # 查看卸载完没有
rpm -qa |grep docker

安装yum-utils(dnf无需安装)

yum install -y yum-utils

添加docker-ce的软件仓库(aliyun)

dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 查看repolist中docker-ce仓库是否添加成功
yum repolist

卸载podman冲突包(Centos8无需执行)

# 卸载podman冲突包
yum erase podman buildah -y#方法2: 安装时使用--allowerasing参数自动替换冲突包
yum -y install docker-ce --allowerasing

安装docker-ce

dnf -y install docker-ce

开机自启动docker服务并现在启动

systemctl enable --now docker

查看docker版本

docker --version

配置docker存储目录

有些服务器分区的var目录不是独立的分区.而是和/分区共用的.而docker默认的存储路径是在/var/lib/docker,这就很容易导致将/分区磁盘空间占满.

查看docker的默认存储目录

docker info# 默认目录是:
## Docker Root Dir: /var/lib/docker

修改docker主配置文件

# 创建/etc/docker目录(如果没有)
mkdir -p /etc/dockervim /etc/docker/daemon.json # 写入配置信息
{"data-root": "/data/docker"
}

重启docker服务

# 重载服务(如果出错就执行)
systemctl daemon-reload# 重启docker服务
systemctl restart docker

查看新的存储目录

docker info# 默认目录是:
## Docker Root Dir: /data/docker

配置国内镜像加速源

docker的默认镜像源在美国,国内下载会很慢,可以修改为国内的镜像源地址.

编辑docker配置文件

vim /etc/docker/daemon.json

添加源配置信息

{"registry-mirrors": ["https://isdp30x2.mirror.aliyuncs.com"]
}

如果和存储目录一起修改

json格式注意格式

{"data-root": "/data/docker","registry-mirrors": ["https://isdp30x2.mirror.aliyuncs.com"]
}

改完要重启docker服务

# 重载服务(如果出错就执行)
sudo systemctl daemon-reload# 重启docker服务
sudo systemctl restart docker

拉取测试镜像

[rhel8 root ~]# docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest

其他配置参数

# 创建/etc/docker目录
sudo mkdir -p /etc/docker# 添加配置
sudo tee /etc/docker/daemon.json <<-'EOF'
{"experimental": true,"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "100m"},"storage-driver": "overlay2"
}
EOF# 重新加载服务
sudo systemctl daemon-reload# 重启docker服务
sudo systemctl restart docker

配置代理拉取海外镜像

https://blog.csdn.net/omaidb/article/details/122102988

免root运行docker

# 将当前(普通)用户添加到docker组
sudo usermod -aG docker $USER
## 或
# 将当前(普通)用户添加到docker组
sudo gpasswd -a $USER docker# 测试普通用户是否可以执行docker
## 登入dockre组
newgrp docker
## 执行docker命令启动一个容器
docker run hello-world
## 删除容器
docker run --rm hello-world

rhel8安装docker-ce相关推荐

  1. CentOS 安装docker.ce报错提示containerd.io >= 1.2.2-3问题

    centos安装docker.ce遇到报错,提示如下 # yum install -y docker-ce Last metadata expiration check: 0:01:49 ago on ...

  2. Docker入门之 - 如何安装Docker CE

    本文将介绍如何在Ubantu.CentOS.Windows.Mac上安装Docker Docker 提供了两个版本:社区版 (CE) 和企业版 (EE). Docker 社区版 (CE) 是开发人员和 ...

  3. Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Nginx

    Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署.测试和分发都变得前所未有的高效和轻松! 无 ...

  4. 008 centos7安装docker ce

    2019独角兽企业重金招聘Python工程师标准>>> 1.安装 docker ce 1.1 说明 Docker 的早期版本称为 docker 或 docker-engine, 从2 ...

  5. ubuntu 安装docker_Docker: 教程04 - (初始化安装之在 Ubuntu 安装Docker CE)

    创建 Ubuntu 运行环境 首先我们需要创建一个 Ubuntu 运行环境,在云环境中,我们创建了一个版本为 "Ubuntu 18.04 Bionic Beaver LTS" ,大 ...

  6. 一、安装Docker CE

    卸载旧版本 较旧版本的Docker被称为docker或docker-engine.如果已安装这些,需要卸载以及相关的依赖项. $ sudo yum remove docker \docker-clie ...

  7. debian上安装docker ce

    在Debian9上安装Docker CE 使用从包中安装的方式 Docker是一个开源的容器引擎,它有助于更快地交付产品. Docker可将应用程序和基础设施层隔离,并且将基础设施当作程序一样进行管理 ...

  8. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    这篇已经Out了,以[笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程为准. Docker的好处之一,就是在Container里面可以随意瞎 ...

  9. 树莓派安装 Docker CE

    树莓派卡片电脑安装 Docker CE 警告:切勿在没有配置 Docker APT 源的情况下直接使用 apt 命令安装 Docker. 本教程为转载,自己看标题! 系统要求 Docker CE 不仅 ...

  10. Linux安装Docker CE

    系统:CentOS Linux release 7.2 (Core) 3.10.0-693.11.6.el7.x86_64 SELinux:关闭 参考链接:https://docs.docker.co ...

最新文章

  1. 湖南网络推广中网络SEO竞争越来越激烈,怎么才能实现“弯道超车”呢?
  2. GRPC golang版源码分析之客户端(二)
  3. .NET 中密封类的性能优势
  4. 并发编程-信号量的使用方法和其实现原理
  5. linux echo设置颜色
  6. ARP-地址解析协议
  7. 机器学习中的算法:决策树模型组合之GBDT(Gradient Boost Decision Tree)
  8. 【机器学习】xgboost以及lightgbm资料汇总
  9. 电子通讯录(自存储)
  10. Ubuntu18.04下的截图快捷方式
  11. 【工具篇】Unity运行期间日志查看的两种方式
  12. DrEA-many objective总结
  13. HTML5期末大作业:汉堡美食网站设计——餐饮美食-汉堡美食(6页) HTML+CSS+JavaScript 汉堡美食 咖啡主题HTM5网页设计作业成品
  14. 简单了解XHR是什么
  15. 软件自动化测试订飞机票,飞机订票系统自动化测试方案[教学知识]
  16. Consider defining a bean of type ‘com.zut.xxp.niuke.dao.DiscussDao‘ in your configuration.
  17. Sid Meier的文明dlc+汉化教程
  18. 新年芯事 | 龙芯物联网主控芯片龙芯1C102和龙芯1C103流片成功
  19. 李自成侄孙李来亨抗清:三百年流不尽的英雄之血
  20. spring boot profiles使用

热门文章

  1. 基于verilog实现的VGA
  2. opencv中的split函数
  3. 锐龙r7 6800u和i5 12500h选哪个好 r76800u和i512500h对比
  4. Linux中alias永久更改命令别名
  5. python基础知识之整除、取余、幂运算
  6. 21计科一班题单2---题解
  7. api日常总结:前端常用js函数和CSS常用技巧
  8. Microsoft Office Visio 缺失安装文件的解决方法(附viso安装密钥)
  9. win10下硬盘安装ubuntu (完整版)
  10. 一个有意思的小故事,希望以后也有这种修养,也能这样厚道