一、搭建环境

使用的是VMWare 12虚拟机安装的CentOS7

安装成功后修改ip:

1. ip addr查看相关信息;

2. 修改/etc/sysconfig/network-scripts/ifcfg-ethXXX文件的ONBOOT=yes;

3. 重新启动网络配置/etc/init.d/network restart;

4. 用ip addr获得自动分配的ip;

然后,我们就可以通过Xshell登陆虚拟机的CentOS方便操作。

参考:http://www.cppblog.com/niewenlong/archive/2008/06/05/52277.aspx

二、安装Docker

在宿主主机中安装Docker(CentOS可以使用yum和rpm安装,而Ubuntu可以使用apt-get,dpkg,make  install)

yum -y install docker-io

查看Docker是否安装成功:

docker version

启动Docker服务:(如service命令启动不了:systemctl start docker.service - 旧式的 sysv 语法)

service docker start

设置为开机启动可以使用:chkconfig docker on

三、下载镜像

查找镜像:

docker search <image>

根据之前搜索结构确定下载那个镜像(下载速度有点慢,可以使用阿里云的镜像):

docker pull imagename

当下载完成后,你应该会看到:

REPOSITORY                TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    docker.io/centos     centos7             f753707788c5        12 days ago         127.1 MB

使用images查看本地镜像:

docker images

添加阿里云Docker镜像:https://yq.aliyun.com/articles/29941

四、启动容器

例如: docker run -itd centos

常用:docker run -ti -p 8080:8080 tomcat-test:v1 /bin/bash —— 前台运行,进入容器

docker run -d -p 8080:8080 tomcat-test:v1 /root/run.sh —— 后台运行,可通过attach进入

详细信息如下:

docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 2a392a47afc5
        docker run <相关参数> <镜像 ID> <初始命令>
    其中相关参数包括:

-i:表示以交互模式运行容器;

-t:表示容器启动后会进入其命令行;

-v:表示需要将本地哪个目录挂载到容器中,格式-v<宿主机目录>:<容器目录>;

-d:表示以”守护模式”执行/root/run.sh脚本,此时Tomcat控制台不会出现在输出终端上;

--name:表示容器名称,用一个有意义的名称命名即可;

假设我们的所有安装程序都放在了宿主机的/root/software/目录下,现在需要将其挂载到容器的/mnt/software/目录下。这一切做好后你就可以为这个容器安装软件了。

Docker传送文件命令(本地host到对应的容器id下的指定路径):

docker cp more.log e7de404c00bd:/tmp/

另外补充一下,进入容器可以使用attach和exec:

docker attach 容器ID

docker exec -it 容器ID bash —— docker1.3增加新的exec命令行工具

五、安装开发环境需要的软件

一般会安装 jdk、tomcat、nginx、mysql、mongodb、redis...

等你安装完了环境,先不要着急 stop 掉对应容器。

六、保存更改的容器

提交镜像,存储到本地另外一个镜像命名为tomcat-test:v1,后面的是版本号;

docker commit 028ce7fa5596 tomcat-test:v1

然后使用images命令就看一看到刚生成的镜像了;

通过ps,我们可以看到运行中的容器,后面加-a可以查看所有容器:

docker ps -a

对已经存在的容器进行处理:

docker stop 028ce7fa5596 —— 停止

docker start 028ce7fa5596 —— 启动

七、存入和载入镜像(可选项)

存出镜像到本地文件为.tar包:

docker save -o tomcat-test_v1.tar tomcat-test:v1

与之相反的是,从存出的本地文件中导入本地镜像库;例如,从.tar包导入镜像到本地镜像库:

docker load --input tomcat-test_v1.tar

或者:docker load < tomcat-test_v1.tar

推荐博文:

Ubuntu:

http://www.cnblogs.com/llhf/p/5149378.html

https://segmentfault.com/a/1190000006843830

CentOS:

http://www.cnblogs.com/tianrongyao/articles/docker.html

https://linux.cn/article-4340-1.html

安装Java8和tomcat8:

http://blog.csdn.net/uq_jin/article/details/51356799

CentOS7搭建Docker镜像实战的更多相关文章

  1. 019.nexus搭建docker镜像仓库/maven仓库

    一.安装docker CE 参考docker doc https://docs.docker.com/install/linux/docker-ce/centos/ 二.docker启动nexus3 ...

  2. Docker镜像实战(ssh、systemctl、nginx、tomcat、mysql)

    Docker镜像实战 1.构建ssh镜像 2.构建systemctl 镜像 3.构建nginx镜像 4.构建tomcat镜像 5.构建mysql镜像 1.构建ssh镜像: 创建镜像目录 mkdir / ...

  3. 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...

  4. centos7 搭建 docker 环境

    1. 安装centos7  http://isoredirect.centos.org/centos/7/isos/x86_64/ 下载 everything 版本,最小化版本可能缺失很多东西 我是在 ...

  5. centos7搭建docker并部署lnmp (转)

      1.首先呢先更新yum源 yum -y update 2.1.安装docker存储库 yum install -y yum-utils \ device-mapper-persistent-dat ...

  6. Centos7搭建Docker部署LNMP

    1.首先呢先更新yum源 yum update 2.1.安装docker存储库 yum install -y yum-utils \ device-mapper-persistent-data \ l ...

  7. 搭建docker镜像仓库(一):使用registry搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.使用registry搭建私有镜像仓库 3.1 环境介绍 3.2 k8smaster节点配置镜像仓库 3.3 k8sworker1节点配置从私有仓库上传和拉取镜像 3. ...

  8. Centos7安装Docker&镜像加速

    目录 Docker Docker安装 方式一 方式二 docker 镜像加速 Docker Docker安装 Docker安装 方式一 step1: 删除老版本(Uninstall old versi ...

  9. centos7 搭建docker内运行rabbitmq,然后再镜像ha方案的完全教程,暂时一个宿主机只能运行一个docker的rabbitmq,但是集群 ha都正常

    1.安装centos7.x,配置好网络2.因为docker需要比较高版本的内核,比如使用overlayfs作为默认docker文件系统要3.18,所以先升级内核到3.18以上版本,能直接过4是最佳了检 ...

随机推荐

  1. C# 实现二维数组的排序算法(代码)

    class Order { /// <summary> /// 对二维数组排序 /// </summary> /// <param name="values&q ...

  2. A1002

    多项式相加,按非零项个数,指数,系数输入两个n项多项式,合并同类项之后输出. 用数组编号保存指数,编号对应的数组值保存系数,相加之后用count记录非零项的个数,最后输出. 数组最大1000个,如果有 ...

  3. Android与IOS的优缺点比较 对 Android 与 IOS 比较是个个人的问题。 就好比我来说,我两个都用。我深知这两个平台的优缺点。所以,我决定分享我关于这两个移动平台的观点。另外,然后谈谈我对新的 Ubuntu 移动平台的印象和它的优势。 IOS 的优点 虽然这些天我是个十足的 Android 用户,但我必须承认 IOS 在某些方面做的是不错。首先,苹果公司在他们的设备更新方面有更

    Android与IOS的优缺点比较 对 Android 与 IOS 比较是个个人的问题. 就好比我来说,我两个都用.我深知这两个平台的优缺点.所以,我决定分享我关于这两个移动平台的观点.另外,然后谈谈 ...

  4. IntelliJ常用配置备忘

    前言 最近IntelliJ又由于自己的骚操作给弄崩溃了,导致之前弄的一大波配置又找不到了,十分蛋疼的又要开始重头开始弄环境.很多之前精心搞过的配置又都记不住了,为了防止以后出现这种情况,这里就把我日常 ...

  5. Window7 系统下重新建立一个新分区

    为了方便使用,准备在原来分区上再分割出一个分区,步骤如下 首先右击计算机,选择管理打开计算机管理窗口,选择磁盘管理,当前窗口右侧会出现当前计算机所有已存在的分区列表. 选择要进行分区的磁盘,右击选择压 ...

  6. Java实体类之间的映射(一对多关系)

    通过栗子,一个人可以有多辆汽车 定义人   这个类 人可以有很多辆汽车,类中车属性用数组 class Person{ private String name; private String phone ...

  7. NLog记录日志到本地或数据库

    OperatorLog CREATE TABLE [dbo].[OperatorLog]( ,) NOT NULL, [Createdate] [DATETIME] NOT NULL DEFAULT ...

  8. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_1_字符输入流_Reader类&FileRead

  9. KETTLE——初见KETTLE

    (PS:这是很早以前在CSDN上发过的,那个账号不想用了,所以搬过来) 就在前一段时间,因为公司需要突然被老大告知要用一个ETL工具,第一次知道这么个工具,完全不知道是做什么的.大概问了一下,说是一种 ...

  10. postgresql集群的搭建

    目录 架构图 部署详情 postgresql的安装与配置 pgpool的安装与配置 写在安装前 postgresql是一款很强大的数据库,具体有多强大呢,请谷歌... 网上的相关资料不是很多,参考了大 ...