Docker笔记三 Docker镜像制作

Docker笔记三 Docker镜像制作


1.Docker镜像制作方法:

  • docker commit 保存当前container的状态到镜像,生成image。
  • docker build 利用dockerfile自动化生成image。

2.制作方法 docker commit方式

#启动镜像名称为centos的一个容器(container) 

[[email protected] ~]#docker run -it centos /bin/bash

#在容器内安装httpd服务

[[email protected] ~]#yum install httpd

#退出容器

[[email protected] ~]#exit

#查看当前容器的ID

[[email protected] ~]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
    95a278b60b0f        centos              "/bin/bash"         2 minutes ago       Exited (0) 53 seconds ago  

#基于当前运行的容器(container),制作新镜像 httpd

[[email protected] ~]#docker commit 95a278b60b0f  centos:httpd  

[[email protected] ~]# docker commit 95a278b60b0f centos:helloworld
    sha256:30e20107209fd55cef87cdaa4b71a3ae4f64f7f051f88d523ea386aba24398f6    
[[email protected] ~]#docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    centos              httpd                   30e20107209f        6 seconds ago       193MB
    centos              latest              3bee3060bfc8        8 days ago          193MB

基于新创建的镜像helloworld 启动一个容器

[[email protected] ~]#docker run -it centos:httpd /bin/bash
[[email protected] /]#systemctl start httpd

完成制作并启动httpd进行了验证。

3.制作方法 docker build方式

#创建工作目录

[[email protected] /]# mkdir docker-build
[[email protected] /]# cd docker-build/
[[email protected] docker-build]# ls
[[email protected] docker-build]# touch Dockerfile

#编辑Dockerfile文件

[[email protected] docker-build]# vim Dockerfile 

FROM centos     # base container
MAINTAINER frog <[email protected]>        #owner

RUN yum -y install httpd        #belong shell command

ADD httpStart.sh /usr/local/bin/httpStart.sh    #copy local file to new image location  right: 755  uid:0 gid:0
ADD index.html /var/www/html/index.html

#当前目录创建 httpStart.sh、index.html文件
#说明:/usr/sbin/httpd DFOREGROUND相当于 systemctl start httpd
[[email protected] docker-build]# ls
Dockerfile
[[email protected] docker-build]# echo "/usr/sbin/httpd DFOREGROUND" > httpdStart.sh
[[email protected] docker-build]# echo "hello world" > index.html
[[email protected] docker-build]# chmod a+x httpStart.sh 
[[email protected] docker-build]# ls
Dockerfile  httpStart.sh  index.html

#使用build 命令创建centos:httpd 镜像

[[email protected] docker-build]# docker build -t centos:httpd .   #这里的‘.’指Dockerfile文件路径

#检查新创建的镜像文件centos:httpd

[[email protected] docker-build]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              httpd               3062c6b1a8e8        3 minutes ago       318MB
centos              index               b11dfe564274        About an hour ago   193MB
centos              helloworld          30e20107209f        About an hour ago   193MB
centos              latest              3bee3060bfc8        9 days ago          193MB
时间: 2024-10-10 17:11:18

Docker笔记三 Docker镜像制作的相关文章

Docker学习笔记1 :镜像制作

参考资源: http://blog.csdn.net/kongxx?viewmode=contents http://my.oschina.net/feedao/blog ============================== 运行环境 win8.1 + virtual box, 运行 centos6.4 64bit, 内网通过代理上网. 如下操作基本都在root下进行. 目的 尝试自己建立Docker镜像 基础工作 1,阿里云镜像 执行如下脚本,将资源镜像执行阿里云 #!/bin/bas

Docker之三----java业务镜像制作

一.制作tomcat镜像: 基本架构图: 1.制作JDK镜像 基于官方提供的centos7.2.1511基础镜像构建JDK和tomcat镜像,先构建JDK镜像,然后再基于JDK镜像构建tomcat镜像. JDK下载路径:https://www.oracle.com/technetwork/java/javase/downloads/index.html 选择架构版本: (1)先下载基础centos镜像 [[email protected] ~]# docker pull centos (2)搭建

docker第三天:制作docker镜像——手工制作docker镜像

制作Docker镜像的方式一般有两种:手工制作和通过Dockerfile制作,此次讲解的是手工制作docker镜像. 一.手动制作镜像: 用centos镜像启动容器: [[email protected]_0_12_centos ~]# docker run -it centos bash 2. 在容器中安装网络管理工具: [[email protected] /]# yum -y install net-tools iproute 3. 将修改后的容器保存为镜像: 先按ctrl+p+q后台运行

Docker笔记三:基于LVS DR模式构建WEB服务集群

安装ipvsadm 1. 先在宿主机上安装并以root来启动ipvsadm,每次要在容器中运行ipvs都需要先在宿主机上启动ipvs.如果直接进行2步操作将报出如下错误: Can't initialize ipvs: Protocol not availableAre you sure that IP Virtual Server is built in the kernel or as module? 2. 实例化一个ipvs容器: dockerfile: FROM ubuntu MAINTA

Docker笔记——jenkins镜像制作

jenkins官方路径:https://hub.docker.com/_/jenkins/ 最新Dockerfile路径:https://github.com/jenkinsci/docker/blob/6eaa9b15926232310317490a3b9975ef61be763c/Dockerfile 首先jenkins镜像依赖于openjdk:8-jdk镜像,如果你没有此镜像要么从docker hub下载,自己制作可参考上一篇文章http://www.cnblogs.com/tacyeh/

docker(三)docker镜像和镜像发布方法

一.从公网docker hub 拉取image ~ # 搜索docker search centos~ ? docker pull centos [email protected]2 Using default tag: latest latest: Pulling from library/centos 469cfcc7a4b3: Downloading 12.28MB/73.17MB 或者:把之前下载好的image镜像导入image docker load -i /root/centos.x

Docker 之 基于容器的镜像制作

1  概述 镜像包含启动容器所需的文件系统和内容,可以理解为打包的文件,用于创建并启动docker容器. 镜像的生成途径有三个: 1.基于dockerfile实现,镜像制作的程序文件 2.基于容器实现,启动容器后,将新的操作制作为新镜像 3.docker hub automated builds 镜像文件采用分层构建机制,最底层为bootfs,上面为rootfs,rootfs上还可以有多层.位于最下层的镜像文件为父镜像(parent image),最底层为基础镜像(base image,root

Docker快速入门——Docker镜像制作

Docker快速入门--Docker镜像制作 一.Dockerfile脚本 1.Dockerfile脚本简介 Dockerfile是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容就是描述该层应当如何构建.Dockerfile文件示例如下: ## Dockerfile文件格式 # This dockerfile uses the ubuntu image # VERSION 2 - EDITION 1 # Author: docker_us

Docker镜像管理基础与基于容器的镜像制作示例

一.Docker镜像 Docker镜像是启动Docker容器的一个非常重要的组件.Docker各组件之间的关系如图: Docker镜像含有启动容器所需要的文件系统及其内容,因此Docker镜像用于创建并启动容器.并且Docker镜像是采用分层构建,联合挂载的机制实现的.那什么是分层构建,联合挂载呢?如图: 在分层构建机制中,最底层为bootfs,用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节省内存资源.在bootfs之上的是rootfs,这里就是doc