CentOS7搭建Docker镜像实战

一、搭建环境

    使用的是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

原文地址:https://www.cnblogs.com/itommy/p/10644569.html