由于公司需要离线部署Docker,这里将其步骤记录下来。

目标环境Centos7.2。

由于目标环境为公司内网,首先尝试在https://download.docker.com/linux/centos/7/x86_64/stable/Packages/下载Docker RPM包:docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm,docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm,安装失败,提示依赖有问题。

多次尝试解决依赖问题失败后,尝试在能连外网的虚拟机上部署同一版本Centos7.2,并使用 yum install --downloadonly --downloaddir=/tmp/docker docker 下载docker的rpm以及相关依赖安装文件到/tmp/docker。

下载成功。

[root@centos7 docker]# ls
container-selinux-2.66-1.el7.noarch.rpm oci-register-machine-0-6.git2b44233.el7.x86_64.rpm
container-storage-setup-0.10.0-1.gitdf0dcd5.el7.noarch.rpm oci-systemd-hook-0.1.16-1.git05bd9a0.el7.x86_64.rpm
docker-1.13.1-68.gitdded712.el7.centos.x86_64.rpm oci-umount-2.3.3-3.gite3c9055.el7.x86_64.rpm
docker-client-1.13.1-68.gitdded712.el7.centos.x86_64.rpm policycoreutils-2.5-22.el7.x86_64.rpm
docker-common-1.13.1-68.gitdded712.el7.centos.x86_64.rpm policycoreutils-python-2.5-22.el7.x86_64.rpm
libgudev1-219-57.el7.x86_64.rpm selinux-policy-3.13.1-192.el7_5.4.noarch.rpm
libselinux-2.5-12.el7.x86_64.rpm selinux-policy-targeted-3.13.1-192.el7_5.4.noarch.rpm
libselinux-python-2.5-12.el7.x86_64.rpm setools-libs-3.3.8-2.el7.x86_64.rpm
libselinux-utils-2.5-12.el7.x86_64.rpm skopeo-containers-0.1.31-1.dev.gitae64ff7.el7.centos.x86_64.rpm
libsemanage-2.5-11.el7.x86_64.rpm systemd-219-57.el7.x86_64.rpm
libsemanage-python-2.5-11.el7.x86_64.rpm systemd-libs-219-57.el7.x86_64.rpm
libsepol-2.5-8.1.el7.x86_64.rpm systemd-python-219-57.el7.x86_64.rpm
lz4-1.7.5-2.el7.x86_64.rpm systemd-sysv-219-57.el7.x86_64.rpm

并将所有rpm包复制到目标环境,并安装rpm -Uvh *.rpm。

[root@centos7 docker]# systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since 二 2018-08-14 14:39:18 CST; 15s ago
Docs: http://docs.docker.com
Process: 8385 ExecStart=/usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json $OPTIONS $DOCKER_STORAGE_OPTIONS $DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY $REGISTRIES (code=exited, status=1/FAILURE)
Main PID: 8385 (code=exited, status=1/FAILURE)

8月 14 14:39:16 centos7.2 systemd[1]: Starting Docker Application Container Engine...
8月 14 14:39:16 centos7.2 dockerd-current[8385]: time="2018-08-14T14:39:16.708427219+08:00" level=warning msg="could n...ound"
8月 14 14:39:16 centos7.2 dockerd-current[8385]: time="2018-08-14T14:39:16.710201736+08:00" level=info msg="libcontain...8392"
8月 14 14:39:18 centos7.2 dockerd-current[8385]: Error starting daemon: SELinux is not supported with the overlay2 gra...alse)
8月 14 14:39:18 centos7.2 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
8月 14 14:39:18 centos7.2 systemd[1]: Failed to start Docker Application Container Engine.
8月 14 14:39:18 centos7.2 systemd[1]: Unit docker.service entered failed state.
8月 14 14:39:18 centos7.2 systemd[1]: docker.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

这里启动Docker失败,发现此linux的内核中的SELinux不支持 overlay2 graph driver ,解决方法有两个,要么启动一个新内核,要么就在docker里禁用selinux,--selinux-enabled=false。

这里选择重新编辑docker配置文件:

vi /etc/sysconfig/docker
在--selinux-enabled 后添加=false 
然后systemctl start docker 就好了。
 
 
 
有关Docker开启和未开启SElinux的区别见此博文:

Docker的离线安装的更多相关文章

  1. 本地yum源构建以及Docker离线安装

    Docker离线安装以及本地yum源构建 在docker的使用过程中有时候会遇到一些私有化部署的问题,就是在一些无法上网的机器上面安装使用dokcer,这就引出了docker的离线安装的问题,dock ...

  2. RHEL7.0 Docker离线安装以及实战笔记

    1.概述 最近在琢磨一个事--在RHEL 7.0系统上离线安装使用Docker.然后配置JAVAEE环境,发布Web服务.在网上查了资料,大多数是在线安装的,其他的要么是环境不同,要么资料包找不到了. ...

  3. Docker系列(一)CentOS 6.5 离线安装、不升级内核

    本特安装教程特点 1.由于是离线下载,需要提前下载好需要的依赖包 2.使用的版本为Centos6.5 3.不升级内核 4.提供异常解决方案. 安装过程 一.下载依赖包(使用能联网的节点) 依赖包可以自 ...

  4. Ubuntu 离线安装 docker

    1.下载离线包,网址:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 离线安装docker需要下载3个 ...

  5. ubuntu16.04 离线安装docker ce

    ubuntu离线安装 docker17.05.0-ce 离线安装 不想自己下载的小伙伴可以从以下地址下载几个软件包: 链接: https://pan.baidu.com/s/1lF7t7ciMhUnW ...

  6. Docker Data Center系列(四)- 离线安装UCP和DTR

    本系列文章演示如何搭建一个mini的云平台和DevOps实践环境. 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力. 1 离线安装UCP 1.1 可用版本 Version ...

  7. centos离线安装docker及其它软件包

    桌面版本安装 docker可以通过网络安装,但在内网环境,需要进行离线安装. 执行 uname -r 获取操作系统版本号 根据版本号,到docker.com下载docker的离线安装包: Linux版 ...

  8. Linux下离线安装Docker

    Linux下离线安装Docker 一.基础环境 1.操作系统:CentOS 7.3 2.Docker版本:18.06.1 官方下载地址(打不开可能需要***) 3.百度云Docker 18.06.1地 ...

  9. 在 Ubuntu 16.04 LTS 上 离线安装 Docker / Docker-compose

    前情提要 今天上班后,突然接到现场的工程师的电话: XXX的现场环境组的的局域网,上不了互联网.bla bla bla..... 如果需要安装其他软件的话,只能是自己带过去安装... 听完现场工程师的 ...

随机推荐

  1. HDU - 1542 Atlantis(线段树求面积并)

    https://cn.vjudge.net/problem/HDU-1542 题意 求矩形的面积并 分析 点为浮点数,需要离散化处理. 给定一个矩形的左下角坐标和右上角坐标分别为:(x1,y1).(x ...

  2. bzoj千题计划321:bzoj5251: [2018多省省队联测]劈配(网络流 + 二分)

    https://www.lydsy.com/JudgeOnline/problem.php?id=5251 第一问: 左边一列点代表学生,右边一列点代表导师 导师向汇点连流量为 人数限制的 边 然后从 ...

  3. Shell编程(五)脚本语法

    ${}: 数据“内容”删除,替换:{}: 列表 1. 条件测试: test =~:正则匹配 2. if/then/elif/else/fi #!/bin/bash echo "Is it o ...

  4. ThinkJS 开发node后端 使用 简介

    ThinkJS 是一款面向未来开发的 Node.js 框架,整合了大量的项目最佳实践,让企业级开发变得如此简单.高效.从 3.0 开始,框架底层基于 Koa 2.x  实现,兼容 Koa 的所有功能. ...

  5. Postman 安装及使用入门教程 (谷歌浏览器插件版)

    postman 在 谷歌浏览器中插件版 http://www.cnblogs.com/mafly/p/postman.html Postman 4.1.2 下载地址: http://files.cnb ...

  6. Quartz.NET 配置文件详解

    Ø  前言 在之前的 使用 Topshelf 结合 Quartz.NET 创建 Windows 服务 文章中,使用到了 Quartz 的两个配置文件 quartz.config 和 quartz_jo ...

  7. mysql数据库允许远程连接

    1.验证初始是否允许远程连接 由于本次虚拟机IP为192.168.2.120,因此我们执行 mysql -h 192.168.20.120 -P 3306 -u root -proot(备注:-pro ...

  8. cpp typename关键字

    泛型编程关键字,C#内也有这个概念. 从属名称(dependent names):模板(template)内出现的名称, 相依于某个模板(template)参数, 如T t; 嵌套从属名称(neste ...

  9. ubuntu安装GBK编码

    1 添加GBK编码 sudo vim /var/lib/locales/supported.d/local en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_CN.GBK ...

  10. mysql 原理 ~ 线程与IO

    一 简介:今天来聊聊具体的线程和IO 二 具体线程与作用 1 master thread    mysql的主要工作触发线程 1 redo and binlog日志      2 合并插入缓冲.    ...