1、概述

最近在琢磨一个事--在RHEL 7.0系统上离线安装使用Docker。然后配置JAVAEE环境,发布Web服务。在网上查了资料,大多数是在线安装的,其他的要么是环境不同,要么资料包找不到了。花了时间研究一番,最后完美安装上了,特此记录一波。

以下操作基于:

操作系统:Red Hat Enterprise Linux Server release 7.0 (Maipo)

Linux内核:3.10.0-123.el7.x86_64

Docker版本:docker-ce-17.03.2.ce-1.el7.centos.x86_64

2、Docker安装

2.1、安装前准备

在线安装可以参照:https://docs.docker.com/install/linux/docker-ce/centos/

我们说的是离线安装,需要的rpm安装包

 

安装包下载地址:

docker: https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

其他依赖包: http://mirrors.163.com/centos/7/os/x86_64/Packages/

2.2、开始安装

先安装libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm包

rpm -ivh libtool-ltdl-2.4.2-22.el7_3.x86_64.rpm

再同时安装两个docker rpm包

rpm -ivh docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm docker-ce-17.03.2.ce-1.el7.centos.x86_64.rpm --nodeps –force

运行docerd

/usr/bin/dockerd

发现缺少一些依赖库,ldd看一下缺少什么库,挨个安装

ldd /usr/bin/dockerd

find . -name libsystemd.so.0

安装systemd-libs库

rpm -ivh systemd-libs-219-42.el7.x86_64.rpm

如果有冲突先卸载之前版本的systemd-libs库

rpm -qa|grep system

rpm -e --nodeps systemd-libs-208-11.el7.x86_64

查看是否安装成功,再次dockerd还缺少什么依赖库

ldd /usr/bin/dockerd

rpm -qa|grep mapper

卸载早期版本device-mapper

rpm -e --nodeps device-mapper-libs-1.02.84-14.el7.x86_64

rpm -qa|grep mapper

安装device-mapper

rpm -ivh device-mapper-libs-1.02.140-8.el7.x86_64.rpm device-mapper-1.02.140-8.el7.x86_64.rpm

还有冲突的话卸载lvm,然后再次安装device-mapper

rpm -e --nodeps lvm2-2.02.105-14.el7.x86_64 lvm2-libs-2.02.105-14.el7.x86_64

查看是否还缺依赖库

ldd /usr/bin/dockerd

不缺了,说明安装完成,可以正常使用docker

查看docker版本信息

docker version

3、Docker实战笔记

3.1、实战用到的操作

联网搜索镜像(xxx是想要搜索的镜像名称)

docker search xxx

联网拉取镜像

docker pull xxx

查看docker信息

docker info

启动docker服务

service docker start

查看docker服务状态

systemctl status docker

存出镜像(很有用)

docker save –o /home/docker/imageout/centos.tar xxxapi:v1

载入拷贝的镜像包(很有用)

docker load --input tomcat.tar

列出所有可用镜像

docker image ls

列出所有可用镜像

docker image ls

查看镜像信息

docker inspect rightctrl/tomcat

查看所有容器

docker ps –a

查看容器ip地址

docker inspect rightctrl/tomcat |grep IPAddress

docker容器端口映射

iptables -t nat -A DOCKER -p tcp --dport 8080 -j DNAT --to-destination 172.17.0.2:8080

查看映射列表

iptables -t nat -nL --line-number

删除某一个映射(通过第一列的num)

iptables -t nat -D DOCKER 2

使用镜像(rightctrl/tomcat)启动一个名叫tomcat的容器

docker run -it --name=tomcat -v /webapp/:/tomcat/webappdoc rightctrl/tomcat /bin/bash

使用镜像(rightctrl/tomcat)启动一个名叫geoapi的容器,并执行/run.sh脚本,启动后后台运行

docker run -dit --name=xxxapi -p 192.168.10.182:8080:8080 -v /webapp/:/tomcat/webappdoc rightctrl/tomcat /run.sh

使用容器创建一个镜像

docker commit -m "xxxapi with CentOS, Oracle JDK, Tomcat Application ssl https" -a "author" 7374ed21518c xxxapi/tomcat:v1

查看本地镜像列表,检查是否创建成功

docker image ls

docker history xxxapi/tomcat:v1

RHEL7.0 Docker离线安装以及实战笔记的更多相关文章

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

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

  2. CentOS下的Docker离线安装

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

  3. springcloud与docker微服务架构实战--笔记

    看了<微服务那些事>之后,Spring boot和Spring Cloud的关系理清楚了,Spring cloud各个模块的作用也了解了. 但是,Spring cloud 与Docker的 ...

  4. Docker 尝试安装rabbitmq实践笔记

    docker pull rabbitmq 自定義的rabbitmq Dockerfile # base image FROM rabbitmq:3.7-management # running req ...

  5. Linux(RHEL7.0)下安装nginx-1.10.2

    查看当前系统版本是否支持 当前,nginx发布包支持以下Linux操作系统版本: RHEL/CentOS: Version Supported Platforms 5.x x86_64, i386 6 ...

  6. Logstash5.0.X离线安装插件报错,仍然提示无法联网

    本人最初将此解决方案发布在 ELK中文社区 http://elasticsearch.cn/question/1046 由于生产环境无法连接互联网,所有再一台联网机器上将所有插件做了 pack 拖到生 ...

  7. CM5(5.11.0)和CDH5(5.11.0)离线安装

    概述 文件下载 系统环境搭建 日志查看 Q&A 参考 概述 CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支 ...

  8. docker离线安装 启动报错Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

    安装报错的提示:systemctl status docker.service 好吧,原来是缺少库文件.验证一下想法吧,yum -y install libseccomp 成功后,再启动docker发 ...

  9. docker 离线安装

    适用于: 1.内网安装docker 2.内网升级docker debian 8 sudo apt-get updatesudo apt-get install -d apt-transport-htt ...

随机推荐

  1. Struts2中的struts.multipart.saveDir的配置

    <constant name="struts.multipart.saveDir" value="D:\\AsimsTemp"></const ...

  2. shell入门之变量测试

    格式:test 测试条件 字符串测试: 注意空格: test str1 == str2 测试字符串是否相等 test str1 != str2 测试字符串是否不相等 test str1 测试字符串是否 ...

  3. 浅谈java异常

    一. 异常的定义 在<java编程思想>中这样定义 异常:阻止当前方法或作用域继续执行的问题.虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看 ...

  4. 分布式集群Session共享 简单多tomcat8+redis的session共享实现

    ; i++) { str = str + session.getAttribute("name" + i) + "<br>"; } response ...

  5. java设计模式---构建者模式

    创建者模式和工厂模式有点类似,不过关注点不同.工厂模式往往只关心你要的是什么,二不关心这个东西的具体细节是什么.而创建模式则关心的是这个东西的具体细节的创建.拿创建人物来说,我们关心的不仅是创建一个人 ...

  6. SpriteBuilder中使用Node类型的ccb动画节点删除时崩溃的问题

    因为节点需要呈现动画效果,虽然只有两个不同帧. 在SpriteBuilder中新建Bullet.ccb文件,类型为node. 添加如上2张图片,并制作动画效果帧. 在游戏中子弹遇到障碍物会被删除,时机 ...

  7. 面试常用算法总结——排序算法(java版)

    排序算法 重要性不言而喻,很多算法问题往往选择一个好的排序算法往往问题可以迎刃而解 1.冒泡算法 冒泡排序(Bubble Sort)也是一种简单直观的排序算法.它重复地走访过要排序的数列,一次比较两个 ...

  8. XBMC源代码分析 7:视频播放器(dvdplayer)-输入流(以libRTMP为例)

    前文分析了XBMC的基本结构: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分 ...

  9. XBMC源代码分析 6:视频播放器(dvdplayer)-文件头(以ffmpeg为例)

    XBMC分析系列文章: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分析 4: ...

  10. C++对象模型(二):The Semantics of Copy Constructors(拷贝构造函数之编译背后的行为)

    本文是 Inside The C++ Object Model's Chapter 2  的部分读书笔记. 有三种情况,需要拷贝构造函数: 1)object直接为另外一个object的初始值 2)ob ...