写在前边

考虑到很多生产环境是内网,不允许外网访问的。恰好我司正是这种场景,写一篇二进制方式安装Docker的教程,用来帮助实施同事解决容器部署的第一个难关。

本文将以二进制安装方式,在CentOS7.9上安装Docker 19.03.9,具有一定的通用性,其他版本也可参考本文。让我们开始吧。

适合场景

  1. 无法访问外网的服务器环境
  2. 内网没有Docker软件源
  3. 需要离线安装Docker
  4. 使用rpm或deb等Docker安装包出现依赖地狱的情况,而实施人员无力解决
  5. 支持Systemd服务配置
  6. 支持多种架构:aarch64/armel/armhf/ppc64le/s390x/x86_64

下载Docker二进制包

https://download.docker.com/linux/static/stable/ ,根据架构选择目录,本文以x86_64举例

将压缩包上传到服务器

二进制安装Docker

在服务器上,解压压缩包

tar -xvf docker-19.03.0-ce.tgz

将解压出的docker/bin目录下的可执行文件复制到/usr/bin

cp docker/* /usr/bin/

将docker注册为 Systemd 的 service

cat > /etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF

为 docker.service添加可执行权限

chmod +x /etc/systemd/system/docker.service

设置docker存储目录到大硬盘目录、设置私有镜像仓库地址(可选,注意替换目录位置与私有镜像仓库URL)

mkdir /etc/docker
mkdir /data1/docker #/data1是大硬盘目录
# 主要关注data-root的值是大硬盘目录存放docker相关文件的目录
# insecure-registries后边的值是私有镜像仓库地址,多个私有镜像仓库地址配置格式为["仓库1","仓库2"]
# exec-opts部分针对于部署k8s做的预配置,可以减少容器日志保存大小及配合kubelet使用systemd
cat > /etc/docker/daemon.json <<EOF
{
"insecure-registries":["10.2.41.191:5000"],
"data-root":"/data1/docker",
"exec-opts": ["native.cgroupdriver=systemd"],"log-driver": "json-file","log-opts": {"max-size": "20m"},"storage-driver": "overlay2","storage-opts": ["overlay2.override_kernel_check=true"]
}
EOF

启动docker并设置开机自启

systemctl daemon-reload
systemctl enable --now docker.service

验证安装结果

systemctl status docker #查看docker服务状态
docker -v #查看docker版本

本文同步发布在本人CSDN https://blog.csdn.net/u012586326 与 博客园 https://www.cnblogs.com/hellxz/ ,禁止爬虫与未经允许的洗稿。

二进制安装Docker相关推荐

  1. Docker 二进制安装docker

    https://blog.csdn.net/bruce_yds/article/details/80035714 转载于:https://www.cnblogs.com/Presley-lpc/p/9 ...

  2. docker 二进制安装

    1.准备docker二进制包 https://download.docker.com/linux/static/stable/x86_64/docker-18.03.1-ce.tgz 2.解压 tar ...

  3. Centos7安装Docker(二进制)

    前言 最近在私有云部署一套自动化运维平台: 其中k8s是重头戏,安装k8s之前需要先安装docker,之前博文中有讲如何通过yum方式安装docker<从零学ELK系列(三):Centos安装D ...

  4. rabbitmq基础2——rabbitmq二进制安装和docker安装、基础命令

    文章目录 一.RabbitMQ安装 1.1 二进制安装 1.2 rabbitmqctl工具 1.3 docker安装 二.rabbitmq基础命令 2.1 多租户与权限类 2.1.1 创建虚拟主机 2 ...

  5. Nginx策略搭配Tomcat集群实操手册(二进制安装和Docker容器安装)

    临头一砖--代理服务器Nginx Nginx策略搭配Tomcat集群实操手册(二进制安装和Docker容器安装) Keepalived搭配Nginx的高可用策略验证和实操 Keepalived搭配Ng ...

  6. yum安装docker(阿里镜像源)及docker-compose二进制安装

    安装docker 初始化系统安装常用工具: yum -y install lrzsz vim wget net-tools bash-completion初始化后可重启系统 准备: 查看防火墙和sel ...

  7. K8S_Google工作笔记0013---通过二进制方式_部署node节点_安装docker

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 上一节,咱们安装了,api server controller-manager scheduler ...

  8. CentOS7.3下二进制安装Kubernetes1.9集群 开启TLS

    Kubernetes的相关原理性的东西之前有叙述过,网上也有很多,这里主要是写的自己在使用二进制的方式搭建Kubernetes1.9的一些方法,对学习的东西做一个自我的总结. Kubernetes有许 ...

  9. 二进制安装部署 4 kubernetes集群---超详细教程

    二进制安装部署kubernetes集群---超详细教程 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建完成后整理的个人心得,分享给大家~~~ 本文所需的安装包,都上传在我的网盘中,需要的可以 ...

最新文章

  1. Hive的下载安装,以及配置mysql作为元数据库
  2. 581. Shortest Unsorted Continuous Subarray连续数组中的递增异常情况
  3. Nginx 反向代理解决跨域问题
  4. 江苏省计算机考试昨晚客观题不能提交,2019法考江苏3.6万人报名 主客观题均推行机考...
  5. [ZJOI2007]捉迷藏 (线段树,括号序列)
  6. struts2源码系列(3)--拦截器
  7. 2015年趋势科技笔试A卷
  8. OkHttp–支持SPDY协议的高效HTTP库
  9. 统计自然语言处理梳理一:分词、命名实体识别、词性标注
  10. 九款即时通讯软件大盘点
  11. PHP简约聚合ZB盒子程序源码
  12. Spring 事务传播机制
  13. Graphpad作图--百分比堆积柱形图
  14. IT行业的发展前景分析
  15. android 画尖角气泡,Android 实现气泡布局/弹窗,可控制气泡尖角方向及偏移量
  16. 优动漫PAINT入门宝典——颜色配置实例展示
  17. 和我一步步部署 kubernetes 集群
  18. Vimdiff 使用
  19. 提高PPT技巧之图片素材篇
  20. Yocto创建自己的分区(基于STM32MP1)

热门文章

  1. 东大22春《大学英语(三)》在线平时作业1_100分题目非答案
  2. 硬件:如何选择固态硬盘
  3. 递归算法——超详细讲解(图文并茂)
  4. 指定代码放哪个cpu运行
  5. 利用Xapian构建自己的搜索引擎:检索
  6. shineblink XD-58C心率脉搏测量传感器详解
  7. win10解决硬盘占用率100%问题
  8. Python的类中定义函数的三种方式及其利用
  9. Kubernetes示例Guestbook
  10. mac idea 控制台mvn命令无效