基于dockerfile构建镜像

[[email protected] static_web]# docker build --help

Usage: docker build [OPTIONS] PATH | URL | -

Build an image from a Dockerfile

Options:
--build-arg list Set build-time variables (default [])
--cache-from stringSlice Images to consider as cache sources
--cgroup-parent string Optional parent cgroup for the container
--compress Compress the build context using gzip
--cpu-period int Limit the CPU CFS (Completely Fair Scheduler) period
--cpu-quota int Limit the CPU CFS (Completely Fair Scheduler) quota
-c, --cpu-shares int CPU shares (relative weight)
--cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)
--cpuset-mems string MEMs in which to allow execution (0-3, 0,1)
--disable-content-trust Skip image verification (default true)
-f, --file string Name of the Dockerfile (Default is ‘PATH/Dockerfile‘)
--force-rm Always remove intermediate containers
--help Print usage
--isolation string Container isolation technology
--label list Set metadata for an image (default [])
-m, --memory string Memory limit
--memory-swap string Swap limit equal to memory plus swap: ‘-1‘ to enable unlimited swap
--network string Set the networking mode for the RUN instructions during build (default "default")
--no-cache Do not use cache when building the image
--pull Always attempt to pull a newer version of the image
-q, --quiet Suppress the build output and print image ID on success
--rm Remove intermediate containers after a successful build (default true)
--security-opt stringSlice Security options
--shm-size string Size of /dev/shm, default value is 64MB
-t, --tag list Name and optionally a tag in the ‘name:tag‘ format (default [])
--ulimit ulimit Ulimit options (default [])
-v, --volume list Set build-time bind mounts (default [])

[[email protected] static_web]# cat Dockerfile
#Version:0.0.1
FROM ubuntu:14.04.2
MAINTAINER Michael Hu "[email protected]"
RUN apt-get update && apt-get install -y nginx
RUN echo ‘Hi I am your container‘ >/usr/share/nginx/html/index.html
EXPOSE 80

[[email protected] static_web]# sudo docker build -t="michael/static_web" .

docker run -it 4590161a4b91 /bin/bash

[[email protected] ~]# sudo docker images michael/static_web
REPOSITORY TAG IMAGE ID CREATED SIZE
michael/static_web latest 4590161a4b91 35 minutes ago 232 MB

[[email protected] ~]# sudo docker history 4590161a4b91
IMAGE CREATED CREATED BY SIZE COMMENT
4590161a4b91 35 minutes ago /bin/sh -c #(nop) EXPOSE 80/tcp 0 B
d1c417228872 35 minutes ago /bin/sh -c echo ‘Hi I am your container‘ >... 23 B
889d78cfac4a 35 minutes ago /bin/sh -c apt-get update && apt-get insta... 43.9 MB
c10b3e8bd42d 37 minutes ago /bin/sh -c #(nop) MAINTAINER Michael Hu "... 0 B
44ae5d2a191e 2 years ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
<missing> 2 years ago /bin/sh -c sed -i ‘s/^#\s*\(deb.*universe\... 1.9 kB
<missing> 2 years ago /bin/sh -c echo ‘#!/bin/sh‘ > /usr/sbin/po... 195 kB
<missing> 2 years ago /bin/sh -c #(nop) ADD file:0a5fd3a659be172... 188 MB

#以守护进程的方式运行容器,以前台运行的方式启动nginx
[[email protected] ~]# sudo docker run -d -p 80 --name static_web michael/static_web > nginx -g "daemon off;"
518f90f30d984e37e36519307256e932f454ead84c030a507a12ed71af379479

#docker随机给映射一个端口到宿主机,这里是1024,浏览器访问宿主机192.160.0.103:1024

![](http://i2.51cto.com/images/blog/201806/07/86d8216577a13416b00a899affe522ce.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)

[[email protected] ~]# docker port 518f90f3 80
0.0.0.0:1024
[[email protected] ~]# sudo docker port static_web 80
0.0.0.0:1024

原文地址:http://blog.51cto.com/huwho/2126034

时间: 2024-10-08 03:30:41

基于dockerfile构建镜像的相关文章

Docker 实战—使用 Dockerfile 构建镜像

GitHub Page:http://blog.cloudli.top/posts/Docker实战-使用-Dockerfile-构建镜像/ Dockerfile 指令详解请访问:https://www.cnblogs.com/cloudfloating/p/11737447.html 使用 Alpine Linux 作为基础镜像 Alpine 是一个非常轻量的 Linux 镜像,他只有大约 5MB 的大小,基于它构建镜像,可以大大减少镜像的体积. Alpine 的 Docker Hub 页面:

Dockerfile构建镜像

构建镜像 构建镜像指令:docker  build或docker  image  build   Dockerfile初识: cat >>Dockerfile<<end FROM  python:2.7-slim WORKDIR  /app ADD  .  /app RUN  pip  install  -r  requirements.txt EXPOSE  80 ENV  NAME  World CMD  ["python", "app.py&qu

Dockerfile构建镜像与部署

基于上一章的基本介绍,这一部分写一下Dockerfile的学习过程,通过Dockerfile我们可以方便的自动定制去构建我们的镜像文件,写好Dockerfile对于后期构建自动化是非常有利的.下面与在centos 7下安装MariaDB 为例: Dockerfile文件: # # MariaDB Dockerfile # # https://github.com/dockerfile/mariadb # # Pull base image. FROM       centos:centos7.1

Docker容器学习梳理-Dockerfile构建镜像

在Docker的运用中,从下载镜像,启动容器,在容器中输入命令来运行程序,这些命令都是手工一条条往里输入的,无法重复利用,而且效率很低.所以就需要一 种文件或脚本,我们把想执行的操作以命令的方式写入其中,然后让docker读取并分析.执行,那么重复构建.更新将变得很方便,所以Dockerfile就此诞生了.Docker提供了Dockerfile作为构建Docker镜像脚本,避免人们一行一行的输入,真是善莫大焉.Dockerfile脚本可以做到随时维护修改,即可以分享,更有利于在模板化,更不用说传

根据Dockerfile构建镜像

根据Dockerfile构建出一个镜像Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令翻译真正的Linux命令.Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile.Docker程序将读取Dockerfile,根据指令生成定制的image.相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易

Docker学习笔记(3)-- 如何使用Dockerfile构建镜像

Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令翻译真正的Linux命令.Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile.Docker程序将读取Dockerfile,根据指令生成定制的image.相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是

使用 Dockerfile 构建镜像

Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令翻译真正的Linux命令.Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile.Docker程序将读取Dockerfile,根据指令生成定制的image.相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是

使用Dockerfile构建镜像并push到私有仓库

环境:OS X 10.10.5 maven 3.3.9 Docker version 1.12.2 docker-machine version 0.8.2 程序示例为http://www.cnblogs.com/modprobe/p/6001333.html 中提到的服务发现程序 相关代码:https://github.com/li-hong/spring-cloud-demo 一.准备工作,安装docker-toolbox 方法:http://www.docker.com/products/

如何使用Dockerfile构建镜像

Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令.Docker程序将这些Dockerfile指令翻译真正的Linux命令.Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系,类似于Makefile.Docker程序将读取Dockerfile,根据指令生成定制的image.相比image这种黑盒子,Dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是