特点:类似于ansible 剧本,大小几kb
而,手动做的镜像,要几百M,甚至上G ,传输不方便

dockerfile 支持自定义容器的初始命令

dockerfile只要组成部分:
基础镜像信息 FROM centos:6.9
制作镜像操作指令 RUN yum install openssh-server -y
容器执行时初始命令 CMD ["/bin/bash","/init/sh"]
dockerfile常用指令

  1. FROM 这个镜像的妈妈是谁?(指定基础镜像)
  2. MAINTAINER 告诉别人,谁负责养它?(指定维护者信息,可以没有)
  3. LABLE 描述,标签
  4. RUN 你想让它干啥(在命令前面加上RUN即可)
  5. ADD 给它点创业资金(会自动解压tar 制作docker基础的系统镜像
  6. WORKDIR 我是cd,今天刚化了妆(设置当前工作目录)
  7. VOLUME 给它一个存放行李的地方(设置卷,挂载主机目录)
  8. EXPOSE 它要打开的门是啥(指定对外的端口)(-P 随机端口)
  9. CMD 奔跑吧,兄弟!(指定容器启动后的要干的事情)(容易被替换)
  10. dockerfile其他指令:
  11. COPY 复制文件(不会解压)rootfs.tar.gz
  12. ENV 环境变量
  13. ENTRYPOINT 容器启动后执行的命令(无法被替换,启容器的时候指定的命令,会被当成参数)

根据dockerfile创建一个nginx容器

  1. mkdir /opt/dockerfile/nginx -p
  2. cd /opt/dockerfile/nginx
  3. vim dockerfile
  4. ###############
  5. FROM centos:6.9
  6. RUN echo "192.168.37.200 mirrors.aliyun.com" >>/etc/hosts
  7. RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
  8. RUN curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
  9. RUN yum install nginx -y
  10. WORKDIR /usr/share/nginx/html
  11. EXPOSE 80
  12. ADD xiaoniao .
  13. CMD ["nginx","-g","daemon off;"]
  14. ###############
  15. 下载关于小鸟的代码包
  16. 构建为镜像
  17. docker build -t xiaoniao:v1 .
  18. 构建容器
  19. docker run -d -p 80:80 xiaoniao:v1
  20. 检查容器是否成功

根据dockerfile搭建一个可道云容器

  1. mkdir /opt/dockerfile/kod -p
  2. cd /opt/dockerfile/kod
  3. vim dockerfile
  4. ###################################
  5. FROM centos6.9_nginx:v1
  6. RUN yum install nginx php-fpm php-gd php-mbstring unzip -y
  7. ADD www.conf /etc/php-fpm.d/www.conf
  8. RUN gzip /etc/nginx/conf.d/*
  9. ADD kod.com.conf /etc/nginx/conf.d/kod.conf
  10. ADD init.sh /init.sh
  11. RUN mkdir /code
  12. WORKDIR /code
  13. RUN curl -o kod.zip http://192.168.37.200/191127/kodexplorer4.40.zip
  14. RUN unzip kod.zip
  15. RUN chown -R nginx:nginx .
  16. CMD ["/bin/bash","/init.sh"]
  17. ##################
  18. vim init.sh
  19. ###################
  20. #!/bin/bash
  21. /usr/sbin/php-fpm --daemonize
  22. nginx -g 'daemon off;'
  23. ##################
  24. 将手动修改完成的php配置文件,nginx配置文件上传到当前目录下
  25. 构建容器镜像
  26. docker build -t kod:v1 .
  27. 构建容器
  28. docker run -d -p 80:80 kod:v1
  29. 测试容器是否成功

dockerfile自动创建docker镜像的更多相关文章

  1. Dockerfile 自动制作 Docker 镜像(三)—— 镜像的分层与 Dockerfile 的优化

    Dockerfile 自动制作 Docker 镜像(三)-- 镜像的分层与 Dockerfile 的优化 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云 ...

  2. Dockerfile自动制作Docker镜像(二)—— 其它常用命令

    Dockerfile自动制作Docker镜像(二)-- 其它常用命令 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:Dockerf ...

  3. Dockerfile 自动制作 Docker 镜像(一)—— 基本命令

    Dockerfile 自动制作 Docker 镜像(一)-- 基本命令 前言 a. 本文主要为 Docker的视频教程 笔记. b. 环境为 CentOS 7.0 云服务器 c. 上一篇:手动制作Do ...

  4. 在docker hub,用github的dockerfile自动生成docker镜像

    简介: 我已经深深的爱上了docker技术. 在日常使用中,经常看到docker hub 中有很多autobuild的镜像.基本使用是在github中上传dockerfile,过一会儿,docker ...

  5. GitLab-CI 来自动创建 Docker 镜像

    1.what is gitlab-ci docker image CI/CD 自动化集成,自动化部署.简单的说就是把代码提交到gitlab管理的同时部署到指定的server,打成docker imag ...

  6. 基于Dockerfile创建docker镜像

    0.先创建一个文件夹img mkdir img 1.Linux上新建3个文件 2.文件内容分别写入 (1)Dockerfile中 # 基于的基础镜像centos FROM centos # 维护该镜像 ...

  7. Spring Boot 创建 Docker 镜像

    随着越来越多的组织转向容器和虚拟服务器,Docker正成为软件开发工作流程中一个更重要的部分.为此,Spring Boot 2.3中最新的功能之中,提供了为Spring Boot应用程序创建 Dock ...

  8. Docker笔记--镜像&基于GO项目创建Docker镜像

    Docker笔记--镜像&基于GO项目创建Docker镜像 核心概念 Doker镜像--包含一个基本的操作系统运行环境和应用程序,镜像是创建Docker容器的基础. Docker容器--如果把 ...

  9. 03-docker入门-创建 docker 镜像

    方法1:从运行的容器创建方法2:编写 DockFile 文件创建 方法1: 打包镜像 docker commit -m "Test a change" 610 ubuntu:tes ...

随机推荐

  1. python 模拟按键模拟键盘按键按下放开

    python模拟按键 pip install pypiwin32安装库 import win32conimport win32apiimport time 导入 打个比方模拟A win32api.ke ...

  2. C# - *.dll vs *.lib (动态链接库 vs 静态链接库)

    静态库 库(Library)就是一段编译好的二进制代码,加上头文件就可以使用. 静态链接库(Windows 下的*.lib, Linux & Mac 下的 .a).之所以叫做静态,是因为静态库 ...

  3. C++:查找字符串字串并替换

    string a;/////指定串,可根据要求替换 string b;////要查找的串,可根据要求替换 string c; cin>>a>>b>>c; int p ...

  4. 【SPOJ DQUERY】区间数字统计

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 因为区间的端点移动一个单位的话,只会涉及到一个元素的增多或减少. 因此可以用莫队算法来解决. 只需要开一个数组(大小1百万),用下标来快速检索 ...

  5. java web 在tomcat没有正常输出

    目录 文章背景 目录 问题介绍 问题解决 说明 参考文章 版本记录 文章背景 调试程序时候突然发现一些位置设置的日志输出没有了,最后总算是解决了! 目录 问题介绍 本地运行时候的环境如下: windo ...

  6. npm ERR! missing script: dev 解决方案

    运行命令npm run dev 出现     npm ERR! missing script: dev  的错误 这是因为vue 版本问题,使用 npm run serve 来运行项目

  7. JS Date Math Number

    Date对象 Date对象和String对象不太一样,定义了一字符串,其实就是一个String对象,就可以直接调用属性和方法. Date对象的使用,必须使用new关键字来创建,否则,无法调用Date对 ...

  8. 一点响应式Web设计与实现思路

    摘要: 是否还在为你的应用程序适配PC端,移动端,平板而苦苦思索呢,是否在寻找如何一套代码适配多终端方式呢,是否希望快速上手实现你的跨终端应用程序呢,是的话,那就看过来吧,本文阐述响应式UI设计相关理 ...

  9. js倒计时在移动端的应用

    在移动端测试倒计时,将时间转化为毫秒会在苹果手机上出现NaN ``` //在安卓上这样写可以获取到的 var date = '2017-06-12 13:12:13'; var time = new ...

  10. JS按比例缩放图片

    1.JS代码 <script type="text/javascript" language="javascript"> var flag = fa ...