RHEL7.0 Docker离线安装以及实战笔记
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离线安装以及实战笔记的更多相关文章
- 本地yum源构建以及Docker离线安装
Docker离线安装以及本地yum源构建 在docker的使用过程中有时候会遇到一些私有化部署的问题,就是在一些无法上网的机器上面安装使用dokcer,这就引出了docker的离线安装的问题,dock ...
- CentOS下的Docker离线安装
Linux下离线安装Docker 一.基础环境 1.操作系统:CentOS 7.3 2.Docker版本:18.06.1 官方下载地址(打不开可能很慢) 3.百度云Docker 18.06.1地址:h ...
- springcloud与docker微服务架构实战--笔记
看了<微服务那些事>之后,Spring boot和Spring Cloud的关系理清楚了,Spring cloud各个模块的作用也了解了. 但是,Spring cloud 与Docker的 ...
- Docker 尝试安装rabbitmq实践笔记
docker pull rabbitmq 自定義的rabbitmq Dockerfile # base image FROM rabbitmq:3.7-management # running req ...
- Linux(RHEL7.0)下安装nginx-1.10.2
查看当前系统版本是否支持 当前,nginx发布包支持以下Linux操作系统版本: RHEL/CentOS: Version Supported Platforms 5.x x86_64, i386 6 ...
- Logstash5.0.X离线安装插件报错,仍然提示无法联网
本人最初将此解决方案发布在 ELK中文社区 http://elasticsearch.cn/question/1046 由于生产环境无法连接互联网,所有再一台联网机器上将所有插件做了 pack 拖到生 ...
- CM5(5.11.0)和CDH5(5.11.0)离线安装
概述 文件下载 系统环境搭建 日志查看 Q&A 参考 概述 CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支 ...
- 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发 ...
- docker 离线安装
适用于: 1.内网安装docker 2.内网升级docker debian 8 sudo apt-get updatesudo apt-get install -d apt-transport-htt ...
随机推荐
- Citrix 桌面虚拟化解决方案与VMware桌面虚拟化解决方案对比
通过 XenDesktop 和 FlexCast为各种场景交付虚拟桌面 企业桌面面临的问题 为每个用户提供安全高效的桌面环境是几乎所有公司或组织的基本要求.如果用户无法使用他们的桌面或应用程序,公司就 ...
- 如何查看Android设备上的分区信息
Android设备上,一般都会存在一块eMMC存储芯片来存放系统和用户数据,甚至部分的引导程序. 一般设备出厂时,各个厂商都会将这块存储芯片分成很多的分区,每个分区内存放不同的内容.具体分区的布局每个 ...
- 百度地图隐藏缩放控件比例尺Logo
对于百度地图最新版V3.7.3,以前的隐藏控件方法失效,可用以下方法隐藏: 1.隐藏缩放控件: mMapView.showZoomControls(false); 2.隐藏比例尺: mMapView. ...
- android开发之调试技巧
我们都知道,android的调试打了断点之后运行时要使用debug as->android application 但是这样的运行效率非常低,那么我们有没有快速的方法呢? 当然有. 我们打完断点 ...
- Java子类实例化的过程
//继承 class Work{ public Work(){ System.out.println("父类中的方法"); } } class Worker extends Wor ...
- 开始ITGEGE教育社区的视频录制----嵌入式基础知识讲解
从8月份开始,陆陆续续要对我的第一份兼职工作ITGEGE讲师做教学视频录制了,本人水平有限,我只讲一些开发在工作中的应用,其它细节的东西不做深究,毕竟本人工作经验和精力也有限,白天要上班,特别是最近又 ...
- React Native的WebStorm基本设置
jsx语法设置 在没有进行设置的情况下,每次打开WebStorm的时候打开包含jsx语法的.js文件都会有以下提示: 当然我们点击转换后就可以了,但是每次都会提示,所以还是来一个一劳永逸的方法把它给去 ...
- Shell脚本的调试技术
编程中必不可少的一点就是调试,Shell脚本以其强大的功能令人向往,当然,它的强大之处不只是体现在语言的实现功能上,更强大的是它的调试功能,下面,我将以实例讲解Shell脚本的调试技术. 下面是我所用 ...
- 如何在代码中取得一个特点type的关节
我们可以在初始化方法中添加如下代码: -(void)didLoadFromCCB{ Class distanceJointClass = NSClassFromString(@"CCPhys ...
- Linux常用命令(第二版) --文件管理命令
文件管理命令 并不建议:照着像命令大全这类的书来学! 常用命令大约有200个. 文件命名规则: a)除了'/'之外所有字符都合法! b)这些字符最好不用 1.空格符,制表符,退格符 2.连接符 3.特 ...