• Docker镜像制作


    Copy on Write(写时复制)

    Docker镜像实际上一个文件系统,但只有顶层可以读写。

    Dockerfile是软件的原材料,Docker镜像是软件的交付品,而Docker容器则可以认为是软件的运行态。

    从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段,

    Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。

    1.查看一类镜像

    $ docker image ubuntu

    2.查看一个镜像的详细信息

    $ docker inspect ubuntu100

    3.Docker镜像的制作方法:

    1)使用Commit命令 (不推荐)

    2) 使用DockerFile

    4.使用Commit制作镜像

    $ docker run -i -t ubuntu:lastest /bin/bash

    $ apt-get update

    $ apt-get install apache2

    $ docker commit [container] [newcontainername]

    5.使用DockerFile制作镜像

    1)创建static_web文件,创建文件Dockerfile,内容如下:

     # Version: 0.0.1

    FROM ubuntu:14.04

    MAINTAINER edison "xiangxingyong@qq.com"

    RUN apt-get update

    RUN apt-get install -y nginx

    RUN echo 'Hello,edison'

           >/usr/share/nginx/html/index.html

    EXPOSE 80

    橙色部分全部使用大写字母。

    2)Docker执行Dockerfile文件的流程如下:

    • Docker从基础镜像运行一个容器。
    • 执行一条指令,对容器做出修改。
    • 执行类似Docker Commit的操作,提交一个新的镜像层。
    • Docker再基于刚提交的镜像运行一个新容器。
    • 执行Dockerfile中的下一条指令,直到所有指令都执行完毕。

    3)Docker build命令执行上下文。

    $ docker build -t="docker/static_web" .

    4)从新镜像启动容器

    $ docker run -d -p 80 --name static_web docker/static_web nginx -g "daemon off;"

    -d选项表示以分离(detached)的方式在后台运行。

    nginx -g "daemon off;"是在容器中执行的命令,启动nginx来作为Web服务器。

    -p 用来控制Docker在运行时应该公开那些网络端口给外部宿主机。

    可以指定外部宿主机的具体端口号来映射容器公开的端口。例如:-p 10000:80

    如果不指定外部宿主机的具体端口,Docker会选择49000~49900之间的随机端口。

    5)查看Images的历史信息

    $ docker history docker/static_web

  • 相关阅读:
    rocketmq 修改broker和namesrv默认设置的堆内存大小
    linux 向文件中添加内容 sed
    页面 请求错误总结
    将pgsql中的所有表的序列当前值设置为所需的值
    pg 强制断开连接 删库
    测试的基本概念
    Linking(3)
    Linking(1)
    Linking(2)
    Nginx Learning (5)
  • 原文地址:https://www.cnblogs.com/edisonxiang/p/6069748.html
Copyright © 2020-2023  润新知