由于公司需要离线部署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. Java技能

    1.思维导图 Java知识思维导图 2 3.Java理解 深入理解Java:注解(Annotation)自定义注解入门 4.JAVA数据类型 基本数据类型 布尔类型:boolean 数值类型: 定点类 ...

  2. redhat开启端口

    设置端口:sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT 或 /etc/init.d/iptables -I INPUT -p tc ...

  3. JAVA正确地自定义比较对象---如何重写equals方法和hashCode方法

    在实际应用中经常会比较两个对象是否相等,比如下面的Address类,它有两个属性:String province 和 String city. public class Address { priva ...

  4. C语言 - 栈和单链表的实现

    单链表:linkList.h linkList.c #ifndef LINKLIST_H_INCLUDE #define LINKLIST_H_INCLUDE #include <Windows ...

  5. nginx接入let's encrypt

    按以下步骤: 一.放开443端口 我的是云服务器,默认没开放443端口,需要先在控制台放开 二.使用let’s encrypt 生成证书 执行以下命令: git clone https://githu ...

  6. termios结构体的内容

    一.结构体成员 struct termios { tcflag_t c_iflag; tcflag_t c_oflag; tcflag_t c_cflag; tcflag_t c_lflag; cc_ ...

  7. telnet客户端程序

    #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types. ...

  8. STLINK V2安装使用详解

    1.      解压st-link_v2_usb driver.zip文件. 2.       运行解压后的st-link_v2_usbdriver.exe文件,安装STLINK V2驱动程序.安装路 ...

  9. 【noip 2014】提高组Day2T3.华容道

    Description 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B ...

  10. excel数据 入库mysql 和 mysql数据 导入excel文件

    1.excel数据入库mysql 首先准备excel文件, 标红的地方需要留意,一个是字段名所在行,一个表名对应页: 然后私用mysql工具 navicat, 选择数据库,然后导入文件, 选中相应ex ...