由于公司需要离线部署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. [leetcode-129] 求根到叶子节点数字之和

    (1AC) 给定一个二叉树,它的每个结点都存放一个 0-9 的数字,每条从根到叶子节点的路径都代表一个数字. 例如,从根到叶子节点路径 1->2->3 代表数字 123. 计算从根到叶子节 ...

  2. 【概括】C++11/14特性

    c++11 c++14

  3. java中获取request与response对象的方法

    Java 获取Request,Response对象方法   第一种.参数 @RequestMapping("/test") @ResponseBody public void sa ...

  4. 求f(n)=[n/1]+[n/2]+---+[n/n]的值 简单杂题

    这种小题首先根据 n/1+n/2+n/3+--+n/n=nlogn+欧拉常数r 可以知道 1e12的范围也不会爆longlong,不需要写高精度(到现在都不会写) 再根据数据范围可知O(n)级别的暴力 ...

  5. 【Ubuntu】安装Java和Eclipse

    1. 安装Java 1> sudo add-apt-repository ppa:webupd8team/java 2> sudo apt-get update 3> sudo ap ...

  6. Docker(二)搭建和使用Docker

    摘自 https://mp.weixin.qq.com/s/E9tqhe00EjfV8y1pqWkZfw 一.Docker的架构 Docker使用C/S结构,即客户端/服务器体系结构.Docker客户 ...

  7. Important persons in deep learning

    Geoffrey Hinton Pieter Abbeel Ian Goodfellow, GAN之父 2019.3 任 Apple Director Andrej Karpathy. 视觉大牛,李飞 ...

  8. TensorFlow从入门到理解(五):你的第一个循环神经网络RNN(回归例子)

    运行代码: import tensorflow as tf import numpy as np import matplotlib.pyplot as plt BATCH_START = 0 TIM ...

  9. android Notification总结

    在发送一个Notification前,我们需要准备好一个NotificationManager NotificationManager manager = (NotificationManager) ...

  10. retrofit动态代理

    https://blog.csdn.net/dalong3976/article/details/83479816