1、登录docker
            docker ecex –it 容器名/容器id /bin/bash
        例如:
            docker exec –it tomcat /bin/bash
        1)、使用docker attach进入Docker容器,存在多个窗口同步和拥塞问题
            sudo docker attach 44fc0f0582d9  
        2)、使用SSH进入Docker容器(不建议)
        3)、使用nsenter进入Docker容器
        4)、docker inspect 查看容器信息
            sudo docker inspect tomcat
        5)、使用docker exec进入Docker容器  
            sudo docker exec --help   
            sudo docker exec -it tomcat /bin/bash  
    2、查看容器大小
        说明:Docker容器是基于镜像的读写层,它是可读可写的。读写某个文件的时候,是从镜像中将那个文件复制到容器的读写层,然后对复制的文件进行读写,而原文件依然在镜像中。而且,这个容器的读写层也是占用磁盘空间的。

        步骤1:先确认容器文件的默认路径
        默认情况下为/var/lib/docker/containers
        步骤2:进入容器目录
            cd  /var/lib/docker/containersdu -sh *
        步骤3:查看所有容器的大小
            du -sh *
        步骤3:查看某个容器的大小
            du -sh <容器id>

    2、查看有什么目录

    3、测试打包一个docker
        centos为原版增加jdk和tomcat
        1)拉取一个centos 
            docker pull centos
        2)准备jdk8和tomcat
            创建工作目录, mkdir -p /z/docker
            准备root下已经上传了jdk和tomcat
            cp本机的jdk到/z/docker目录下
            tar -zxvf apache-tomcat-9.0.8.tar.gz -C /z/docker
            tar -zxvf jdk-8u91-linux-x64.tar.gz -C /z/docker
            解压到目录/z/docker下, 并重命名为jdk
            并重命名为jdk
            mv jdk1.8.0_91 jdk
            mv apache-tomcat-9.0.8 tomcat
        3)删掉jdk文件夹下多余文件, 降低build的镜像大小
            rm -rf /z/docker/jdk/*src.zip \
                /z/docker/jdk/lib/missioncontrol \
                /z/docker/jdk/lib/visualvm \
                /z/docker/jdk/lib/*javafx* \
                /z/docker/jdk/jre/lib/plugin.jar \
                /z/docker/jdk/jre/lib/ext/jfxrt.jar \
                /z/docker/jdk/jre/bin/javaws \
                /z/docker/jdk/jre/lib/javaws.jar \
                /z/docker/jdk/jre/lib/desktop \
                /z/docker/jdk/jre/plugin \
                /z/docker/jdk/jre/lib/deploy* \
                /z/docker/jdk/jre/lib/*javafx* \
                /z/docker/jdk/jre/lib/*jfx* \
                /z/docker/jdk/jre/lib/amd64/libdecora_sse.so \
                /z/docker/jdk/jre/lib/amd64/libprism_*.so \
                /z/docker/jdk/jre/lib/amd64/libfxplugins.so \
                /z/docker/jdk/jre/lib/amd64/libglass.so \
                /z/docker/jdk/jre/lib/amd64/libgstreamer-lite.so \
                /z/docker/jdk/jre/lib/amd64/libjavafx*.so \
                /z/docker/jdk/jre/lib/amd64/libjfx*.so
        4)进入/z/docker目录, 在当前目录下创建Dockerfile文件
            cd /z/docker
            vim Dockerfile
                #插入以下内容
                #使用的基础镜像
                FROM centos
                #作者信息
                MAINTAINER luhq7 "cztx29@126.com"
                #创建目录
                RUN mkdir -p /z/java/jdk
                #把当前目录下的jdk文件夹添加到镜像
                ADD jdk /z/java/jdk
                #创建tomcat目录
                RUN mkdir -p /z/java/tomcat
                #把当前目录下的tomcat文件夹添加到镜像
                ADD tomcat /z/java/tomcat
                #添加环境变量
                ENV JAVA_HOME /z/java/jdk
                ENV CATALINA_HOME /z/java/tomcat
                ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
                #暴露8080端口
                EXPOSE 8080
                #启动时运行tomcat
                CMD ["/z/java/tomcat/bin/catalina.sh","run"]
        5)、开始制作
            docker build -t repos_local/centos-jdk-tomcat:0.0.1 .
            最后的 . 表示dockerfile放在本目录
        6)、docker ps和docker images查看一下镜像
        7)、运行一个容器
            docker run -d --hostname mytomcat --name mytomcat   -p 16002:8080 repos_local/centos-jdk-tomcat:0.0.1
            报错:需要重新启动docker进程
        8)、重启docker
            sudo systemctl restart docker
        9)、打开防火墙对应端口
             vim  /etc/sysconfig/iptables
                 增加一行,端口为15672的限制取消
             防火墙重新生效
             service iptables restart
             查看那些端口可用:
                 netstat -lntp
             docker start mytomcat
OK至此完成docker(centos + tomcat +jdk)的制作

Docker 镜像的制作的更多相关文章

  1. Docker 镜像的制作和使用

    镜像 Layer(层) 镜像里的内容是按「层」来组织的,「层」可以复用,一个完整的镜像也可以看做是一个「层」.多个「层」叠加在一起就形成了一个新的镜像,这个镜像也可以作为别的镜像的基础「层」进行更加复 ...

  2. 基于url-to-pdf-api构建docker镜像,制作一个网页另存服务

    基于url-to-pdf-api构建docker镜像,制作一个网页另存服务 业务背景: 需要根据一个url路径打印这个网页的内容 解决方案: 1.使用wkhtml2pdf 2.使用puppeteer ...

  3. 制作可以 SSH 登录的 Docker 镜像

    Docker使用系列一我们把镜像源改为了阿里云的,方便后续的操作. 执行这个命令就把源地址改为阿里的: curl https://git.oschina.net/feedao/Docker_shell ...

  4. Nginx+PHP7.3.9 Docker镜像制作

    最近因项目需要制作了多个版本的php docker镜像,制作过程可谓是一波三折,因基于yum的方式安装php的方式在安装扩展插件时很不方便,不容易找到插件对应的yum源,所以PHP在docker镜像中 ...

  5. presto-gateway 试用以及docker 镜像制作

    presto-gateway 是 lyft 团队开源 的prestodb 的工具.以下是一个简单的试用,以及碰到问题的解决 还有就是docker 镜像的制作 Dockerfile 很简单,本地构建然后 ...

  6. Docker之从零开始制作docker镜像

    以前学习docker是直接docker pull命令直接拉取Linux中已有镜像,并创建容器,添加应用程序,但是docker镜像一开始是怎么来的呢?下面将从零开始介绍整个docker镜像的制作过程(初 ...

  7. Docker之commit制作镜像

    一.docker是什么? Docker是一个为开发人员和系统管理员提供分布式应用程序的开放平台.它是一个开源的容器引擎,基于Go语言并遵从Apche2.0协议开源. 功能:Docker可以让开发者打包 ...

  8. Docker、Dockerfile、Docker镜像、容器这些都是什么鸟?

    老生常谈,再再再……普及一下: Docker:最早是dotCloud公司出品的一套容器管理工具,但后来Docker慢慢火起来了,连公司名字都从dotCloud改成Docker. Dockerfile: ...

  9. haproxy 2.0 dataplaneapi docker 镜像

    为了方便测试dataplaneapi 基于官方的docker镜像,制作了一个简单的包含dataplaneapi 的镜像 下载dataplaneapi https://github.com/haprox ...

随机推荐

  1. 两大主流开源分布式存储的对比:GlusterFS vs. Ceph

    两大主流开源分布式存储的对比:GlusterFS vs. Ceph 存储世界最近发生了很大变化.十年前,光纤通道SAN管理器是企业存储的绝对标准,但现在的存储必须足够敏捷,才能适应在新的基础架构即服务 ...

  2. kali系统firefox浏览器默认语言改为中文设置方法

    kali中的Firefox浏览器默认为英文,这对英语不够好的我来讲,自然是很麻烦的,下面讲一下如何将语言设置为中文. 1.打开终端,输入 apt -y install firefox-esr-l10n ...

  3. 【Robot Framework 】项目实战汇总

    写在前面 RF自动化的文章记录基本完成,建一个汇总目录,方便查看. [Robot Framework 项目实战]汇总 ∮[RF 项目实战 00]环境搭建 ∮[RF 项目实战 01]使用 Request ...

  4. Jmeter Web 性能测试入门 (三):Jmeter 常用组件说明

    线程组:用来设置并发的数量和模式.是用来模拟用户并发的组件.JMeter 的每个任务都是用线程来处理的. 线程数:要并发的请求数量. Ramp-Up Period: 在多次时间内把这些并发的请求发送完 ...

  5. koa 项目中引入 mysql

    由于mysql模块的操作都是异步操作,每次操作的结果都是在回调函数中执行,现在有了async/await,就可以用同步的写法去操作数据库 Promise封装mysql模块 Promise封装 ./as ...

  6. 用jeecg做个项目第三讲(自定义导入导出)

    1.导入 前端js和跳转页面 <t:dgToolBar title="导入单一模板" icon="icon-put" funname="Impo ...

  7. java使用新的(nio)遍历文件(支持文件后缀名、文件名正则表达式匹配)

    import org.junit.Test; import java.io.IOException; import java.nio.file.Files; import java.nio.file. ...

  8. EasyUI之toolTip

    <a class="easyui-tooltip" title="提示框" href="http://www.baidu.com"&g ...

  9. word内存不足 解决办法

    word2013内存不足 解决办法具体操作如下: 尝试了很多方法和经验表示都没有效果,最后找到个有效果的分享给大家: 点击“文件”——选项——加载项“   点左下的”管理“-” 转到“ 把加载项前面的 ...

  10. iOS面试-关于性能优化

    目录 我要给出的建议将分为三个不同的等级: 入门级. 中级和进阶级: 入门级(这是些你一定会经常用在你app开发中的建议) 1. 用ARC管理内存2. 在正确的地方使用reuseIdentifier3 ...