docker镜像创建方法(代码片段)

author author     2023-04-18     675

关键词:

Docker 镜像创建方法

Docker镜像创建方法 创建镜像的方法有三种,分别是基于已有的镜像创建、基于本地模板创建、基于Dockerfile 创建,下面着重介绍这三种创建镜像的方法。

一、基于已有镜像创建

首先将镜像加载到容器,将容器里面运行的程序及运行环境打包起来生成新的镜像,需要记住该容器的ID号。
命令格式: docker commit 【选项】 容器ID/名称 仓库名称:【标签】

常用选项:

-m:说明信息 ?
-a:作者信息 ?
-p:生成过程中停止容器的运行

例子:

docker create -it nginx /bin/bash #启动容器
docker ps -a #查看容器
docker commit -m "new" -a "zhao" 6f69698fc083 nginx:test #创建新镜像
docker images #查看镜像

技术图片

二、基于本地模板创建

通过导入系统模板文件可以生成镜像,模板可以从OPENVZ开源项目下载
下载地址为:http://download.openvz.org/template/precreated

例子:

下面以debian模板压缩包导入为本地镜像的例子。
wget http://download.openvz.org/template/precreated/debian-7.0-x86-minimal.tar.gz
cat debian-7.0-x86-minimal.tar.gz | docker import - nginx:new

三、基于Dockerfile创建(重点)

Dockerfile是由一组指令组成的文件,每条指令对应linux中一条命令,Docker程序将读取Dockerfile中的指令生成指定镜像。
Dockerfile大致结构:基础镜像信息、维护者信息、镜像操作指令、容器启动时执行指令。每行支持一条指令,每条指令可以携带多个参数,支持以 # 开头的注释。

Dockerfile操作指令:

FROM 镜像 : 指定新的镜像所基于的镜像
MAINTAINER 名字 :说明新镜像的维护人
RUN 命令 : 在所基于的镜像上执行命令,并提交到新的镜像中
CMD ["要运行的程序","参数1","参数2"] : 指定启动容器时要运行的命令或脚本
EXPOSE端口号 : 指定新镜像加载到Docker时要开启的端口
ENV环境变量 变量值 : 设置一个环境变量的值,会背后面的RUN用到
ADD源文件/目录 目标文件/目录 :将源文件复制到目标文件 ,源文件和Dockerfile位于同一目录
COPY源文件/目录 目标文件/目录 :将本地主机的源文件复制到目标目录,源文件和Dockerfile位于同一目录
VOLUME["目录"] : 在容器中创建一个挂载点
USER 用户名 /UID :指定运行容器时的用户
WORKDIR路径 : 为后续的RUN 、CMD、ENTRYPOINT 指定工作目录
ONBUILD命令 : 指定所生成的镜像作为一个基础镜像时所要运行的命令。

Dockerfile例子:

mkdir httpd 创建目录
cd httpd #切换目录
vim Dockerfile #编写dockerfile

#基于基础镜像
FROM centos
#用户信息
MAINTAINER this is httpd image <zhao>
#添加环境包
RUN yum install -y httpd
#指定http端口
EXPOSE 80
#添加宿主机中run.sh到容器中
ADD run.sh /run.sh
RUN chmod 755 /run.sh
CMD ["/run.sh"]

vim run.sh #编写httpd启动脚本

#!/bin/bash
rm -rf /run/httpd/*
exec /usr/sbin/apachectl -D FOREGROUND

docker build -t httpd:new . #创建新镜像(不要忘了末尾的有 .)
docker run -d -p 80:80 httpd:new #启动镜像
docker ps #查看

技术图片

技术图片

技术图片

网页验证

技术图片

docker数据管理与网络通信之镜像的创建方法(代码片段)

Docker镜像的创建方法Docker镜像除了是Docker的核心技术之外,也是应用发布的标准格式。一个完整的Docker镜像可以支撑一个Docker容器的运行,在Doker的整个使用过程中,进入一个已经定型的容器之后,就可以在容器中进行操作,最... 查看详情

docker镜像创建方法(代码片段)

Docker镜像创建方法Docker镜像创建方法创建镜像的方法有三种,分别是基于已有的镜像创建、基于本地模板创建、基于Dockerfile创建,下面着重介绍这三种创建镜像的方法。一、基于已有镜像创建首先将镜像加载到容器,将容器里... 查看详情

docker镜像创建(代码片段)

Docker镜像创建Docker镜像创建的方法1:基于已有镜像创建基于已有景象创建主要使用dockercommit命令。实质就是把一个容器里面运行程序以及程序的运行环境打包起来生成新的镜像命令格式:dockercommit[选项]容器ID/名称仓库名称:[标... 查看详情

docker镜像的创建和私有仓库的创建(代码片段)

一、docker镜像的创建方法1、基于已有镜像创建2、基于本地模板创建3、基于dockerfile创建4、搭建私有仓库及其使用方法一、docker镜像的创建方法docker镜像是除了docker的核心技术之外,也是应用发布的标准格式。一个完整的docker镜... 查看详情

创建docker镜像(代码片段)

创建镜像有很多方法,用户可以从DockerHub获取已有镜像并更新,也可以利用本地文件系统创建一个。修改已有的镜像查看已有的镜像:$sudodockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEubuntulatest2a4cca5ac8989daysago111MB下面进入到ubuntu容器中:$sudodo... 查看详情

docker镜像创建私有仓库搭建和数据管理(代码片段)

Docker镜像的创建方法Docker镜像除了是Docker的核心技术之外也是应用发布的标准格式。一个完整的Docker镜像可以支撑一个Docker容器的运行,在Docker的整个使用过程中,进入一个已经定型的容器之后,就可以在容器中进行操作,最常... 查看详情

docker镜像的创建及上传(代码片段)

Docker镜像的创建及上传Docker镜像介绍Docker镜像除了是Docker的核心技术之外也是应用发布的标准格式。一个完整的Docker镜像可以支撑一个Docker容器的运行,在Docker的整个使用过程中,进入一个已经定型的容器之后,就可以在容器中... 查看详情

docker容器:封装镜像+优化(代码片段)

Docker基础知识可以参考之前的文章Docker基础知识Docker的基本使用方法可以参考之前的文章Docker基本使用里边包含创建镜像的两种方法,第二种方法Dockerfile是下面涉及到的,建议把链接的文章看一下自己创建一个nginx的镜... 查看详情

docker制作镜像(代码片段)

Docker制作镜像本章结构Docker镜像的分层Dockerfile基本创建方法Dockerfile创建各种应用容器Docker镜像的分层Dockerfile中的每个指令都会创建一个新的镜像层镜像层将被缓存和复用当Dockerfile的指令修改了,复制的文件变化了,或者构建... 查看详情

docker数据管理与网络通信(代码片段)

文章目录一、Docker镜像的创建方法1.基于已有镜像创建2.基于本地模板创建3.基于Dockerfile创建二、Docker的数据管理1.数据卷1.1创建数据卷1.2挂载主机目录作为数据卷2.数据卷容器三、Docker网络通信1.Docker网络模式2.Docker自定义网络1.... 查看详情

docker容器之dockerfile镜像(代码片段)

一.创建ssh镜像1.创建镜像目录2.创建编写dockerfile文件 3.生成镜像 4. 启动容器并修改root密码二. 构建Systemctl镜像1.创建镜像目录方便管理 2.创建编写dockerfile文件3. 生成镜像 4.启动容器,并挂载宿主机目录挂载到容器中ÿ... 查看详情

自定义通过dockerfile创建httpd镜像(代码片段)

创建镜像三种方法Docker镜像创建方法有三种,分别为基于已有镜像创建、基于本地模板创建以及基于Dockerfile创建。通过Dockerfile创建镜像这里主要记录下基于Dockerfile创建方法,Dockerfile是由一组指令组成的文件,其中每条指令对... 查看详情

docker数据管理与网络通信(代码片段)

Docker镜像的创建方法Docker镜像除了是Docker的核心技术之外也是应用发布的标准格式。一个完整的Docker镜像可以支撑一个Docker容器的运行,在Docker的整个使用过程中,进入一个已经定型的容器之后,就可以在容器中进行操作,最常... 查看详情

docker创建镜像(代码片段)

文章首发自个人网站:https://www.exception.site/docker/docker-create-image本文中,您将学习Docker如何创建镜像?Docker创建镜像主要有三种:基于已有的镜像创建;基于Dockerfile来创建;基于本地模板来导入;我们将主要介绍常用的1,2两种... 查看详情

容器化工具--------docker的数据管理和镜像的创建(代码片段)

...间共享)三、容器互联(使用centos镜像)四、Docker镜像1、镜像介绍2、镜像创建的方法3、基于已有镜像创建4、基于本地模板创建5、基于Dockerfile创建(关键)(1)联合文件系统Unio 查看详情

docker数据管理与网络通信(代码片段)

Docker镜像Docker镜创建三种方法基于已有的镜像创建基于已有镜像创建只要使用dockerscommit命令。实质就是把一个容器里面运行的镜像程序以及该程序的运行环境打包起来生成新的镜像-m说明信息-a作者信息-p生产过程中停止容器的... 查看详情

docker数据管理与网络通信(代码片段)

博文结构Docker镜像的创建方法Docker的数据管理Docker的网络通信可以通过Dokcer核心及安装来安装Docker及简单操作。一.Docker镜像的创建方法Docker镜像除了是Docker的核心技术之外,也是应用发布的标准格式。一个完整的Docker镜像可以... 查看详情

maven实战技巧「docker实战系列」使用maven插件构建docker镜像的方法(代码片段)

使用Maven插件构建Docker镜像的方法工具插件名称+官方地址修改宿主机配置(docker可以远程访问)配置DOCKER_HOST例如使用插件构建Docker镜像添加插件构建镜像添加docker-maven-plugin创建Dockerfile内容如下执行以下命令构建Docker... 查看详情