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

Options: -t,

--tag list # 镜像名称 -f,

--file string # 指定Dockerfile文件位置

前提:已经准备好了 如下文件(谁需要相关文件的,最下面有我微信,欢迎添加获取):

#现把文件从windows上传输到linux,发现xshell没有安装 rz命令,那么就不支持把windows文件拖进linux机器
[root@ ~]# rz
-bash: rz: 未找到命令
#安装rz工具
[root@ yum install lrzsz
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
base | 3.6 kB ::
docker-ce-stable | 3.5 kB ::
extras | 3.4 kB ::
updates | 3.4 kB ::
正在解决依赖关系
--> 正在检查事务
---> 软件包 lrzsz.x86_64.0.0.12.20-.el7 将被 安装
--> 解决依赖关系完成 依赖关系解决 =================================================================================================================
Package 架构 版本 源 大小
=================================================================================================================
正在安装:
lrzsz x86_64 0.12.-.el7 base k 事务概要
=================================================================================================================
安装 软件包 总下载量: k
安装大小: k
Is this ok [y/d/N]: y
Downloading packages:
lrzsz-0.12.-.el7.x86_64.rpm | kB ::
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : lrzsz-0.12.-.el7.x86_64 /
验证中 : lrzsz-0.12.-.el7.x86_64 / 已安装:
lrzsz.x86_64 :0.12.-.el7 完毕!
#将windows文件拖进xshell, 会出现图形界面,显示传输进度
[root@ ~]# rz -E
rz waiting to receive.
#确认 dockerfile_.zip传输进了linux宿主机
[root@ ~]# ls
anaconda-ks.cfg dockerfile_.zip nginx.tar
# 发现unzip工具没有安装
[root@ ~]# unzip
-bash: unzip: 未找到命令
#安装unzip工具
[root@ ~]# yum install unzip -y
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: ftp.sjtu.edu.cn
* updates: ftp.sjtu.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 unzip.x86_64.0.6.-.el7 将被 安装
--> 解决依赖关系完成 依赖关系解决 =================================================================================================================
Package 架构 版本 源 大小
=================================================================================================================
正在安装:
unzip x86_64 6.0-.el7 base k 事务概要
=================================================================================================================
安装 软件包 总下载量: k
安装大小: k
Downloading packages:
unzip-6.0-.el7.x86_64.rpm | kB ::
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : unzip-6.0-.el7.x86_64 /
验证中 : unzip-6.0-.el7.x86_64 / 已安装:
unzip.x86_64 :6.0-.el7 完毕!
解压 dockerfile_.zip 文件
[root@ ~]# unzip dockerfile_.zip
Archive: dockerfile_.zip
inflating: Dockerfile-nginx
inflating: Dockerfile-php
inflating: Dockerfile-tomcat
inflating: nginx.conf
inflating: php-fpm.conf
inflating: php.ini
[root@ ~]# ls -l
总用量
-rw-------. root root 3月 : anaconda-ks.cfg
-rw-r--r-- root root 11月 : Dockerfile-nginx
-rw-r--r-- root root 11月 : Dockerfile-php
-rw-r--r-- root root 11月 : Dockerfile-tomcat
-rw-r--r-- root root 11月 : dockerfile_.zip
-rw-r--r-- root root 10月 : nginx.conf
-rw-r--r--. root root 3月 : nginx.tar
-rw-r--r-- root root 10月 : php-fpm.conf
-rw-r--r-- root root 11月 : php.ini
[root@ ~]# vi Dockerfile-nginx
[root@ ~]# docker build -t nginx:v1 -f Dockerfile-nginx .
Sending build context to Docker daemon .1MB
Step / : FROM centos:
---> 1e1148e4cc2c
Step / : MAINTAINER www.ctnrs.com
---> Running in bf77ab5a1997
Removing intermediate container bf77ab5a1997
--->
Step / : RUN yum install -y gcc gcc-c++ make openssl-devel pcre-devel gd-devel iproute net-tools telnet wget curl && yum clean all && rm -rf /var/cache/yum/*

......
Step 8/9 : EXPOSE 80
---> Running in 53d27a40eef7
Removing intermediate container 53d27a40eef7
---> 39fe3e3e4c0c
Step 9/9 : CMD ["nginx", "-g", "daemon off;"]
---> Running in 17796c30c838
Removing intermediate container 17796c30c838
---> a5412fe37cac
Successfully built a5412fe37cac
Successfully tagged nginx:v1
[root@192 ~]# docker image Usage: docker image COMMAND Manage images Commands:
build Build an image from a Dockerfile
history Show the history of an image
import Import the contents from a tarball to create a filesystem image
inspect Display detailed information on one or more images
load Load an image from a tar archive or STDIN
ls List images
prune Remove unused images
pull Pull an image or a repository from a registry
push Push an image or a repository to a registry
rm Remove one or more images
save Save one or more images to a tar archive (streamed to STDOUT by default)
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE Run 'docker image COMMAND --help' for more information on a command. #确认nginx v1镜像构建成功
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v1 a5412fe37cac About a minute ago 361MB
nginx latest 881bd08c0b08 9 days ago 109MB
busybox latest d8233ab899d4 3 weeks ago 1.2MB
centos 7 1e1148e4cc2c 3 months ago 202MB
centos latest 1e1148e4cc2c 3 months ago 202MB
java 8 d23bdf5b1b1b 2 years ago 643MB
#构建php镜像,构建比较慢,大约持续 7~8分钟
[root@192 ~]# docker build -t php:v1 -f Dockerfile-php .
......
Successfully built d48e00d7de94
Successfully tagged php:v1
#确认php v1 构建成功 
[root@192 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
php v1 d48e00d7de94 34 seconds ago 514MB
nginx v1 a5412fe37cac 16 minutes ago 361MB
nginx latest 881bd08c0b08 9 days ago 109MB
busybox latest d8233ab899d4 3 weeks ago 1.2MB
centos 7 1e1148e4cc2c 3 months ago 202MB
centos latest 1e1148e4cc2c 3 months ago 202MB
java 8 d23bdf5b1b1b 2 years ago 643MB
[root@192 ~]# ls
anaconda-ks.cfg Dockerfile-php dockerfile_.zip nginx nginx.tar php php-fpm.conf php.ini tomcat
[root@192 ~]# cd tomcat/
[root@192 tomcat]# ls
Dockerfile-tomcat
#构建tomcat前,先到 http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/ 查看版本,修改VERSION=为你需要的版本
[root@192 tomcat]# vi Dockerfile-tomcat
[root@192 tomcat]# docker build -t tomcat:v1 -f Dockerfile-tomcat .
Sending build context to Docker daemon 2.56kB
Step 1/9 : FROM centos:7
---> 1e1148e4cc2c
....
Successfully built 5f8fe4ca82ba
Successfully tagged tomcat:v1
#现在已经构建好了 tomcat, php,nginx 标签都是v1的镜像
[root@192 tomcat]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat v1 5f8fe4ca82ba 2 minutes ago 427MB
php v1 d48e00d7de94 16 minutes ago 514MB
nginx v1 a5412fe37cac 32 minutes ago 361MB
nginx latest 881bd08c0b08 9 days ago 109MB
busybox latest d8233ab899d4 3 weeks ago 1.2MB
centos 7 1e1148e4cc2c 3 months ago 202MB
centos latest 1e1148e4cc2c 3 months ago 202MB
java 8 d23bdf5b1b1b 2 years ago 643MB

作者: 梅梅~

出处: https://www.cnblogs.com/keeptesting

关于作者:专注软件测试,测试运维相关工作,请多多赐教!

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 欢迎沟通交流加微信联系。 微信:yangguangkg20140901 暗号:博客园.

Docker: 构建Nginx,PHP,Tomcat基础镜像的更多相关文章

  1. Docker构建nginx+uwsgi+flask镜像(二)

    Dockerfile搭建环境并打包应用 在上一章Docker构建nginx+uwsgi+flask镜像(一)的学习中,我们学会用命令行一句一句在alpine环境中搭建nginx+uwsgi+flask ...

  2. 物联网架构成长之路(25)-Docker构建项目用到的镜像1

    0. 前言 现在项目处于初级阶段,按照规划,先构建几个以后可能会用到的Image,并上传到阿里云的Docker仓库.以后博客中用到的Image,大部分都会用到这几个基础的Image,构建一个简单的物联 ...

  3. 使用Docker构建PHP7.4 + Swoole + Redis镜像

    使用Docker构建PHP7.4 + Swoole + Redis镜像 Docker是一个用于开发,交付和运行应用程序的开放平台.开发者可以利用Docker来快速交付,测试和部署代码,从而大大减少编写 ...

  4. Docker构建nginx+uwsgi+flask镜像(一)

    前言 笔者之前是从事Java方面的工作,自从18年5月左右来到新的公司,接触到Python,被其简单优雅的语法风格深深吸引,同时,新公司也帮助笔者打开Docker世界的大门,让笔者体会到“一次打包,到 ...

  5. 用Docker构建Nginx镜像

    1构建Nginx镜像 1建立工作目录 [root@localhost ]# mkdir 1nginx [root@localhost 1nginx]# cd 1nginx/ [root@localho ...

  6. Docker - 构建一个简单的应用镜像

    概述 做个简单的可用镜像 背景 之前的镜像, 都是 命令教程 类的 这次我想构建一个 可以用的 简单镜像镜像 1. 环境 os centos7 docker 18.09 docker image ja ...

  7. Docker部署nginx,tomcat,es,可视化

    nginx [root@iz2zeaet7s13lfkc8r3e2kz /]# docker pull nginx #下载 Using default tag: latest latest: Pull ...

  8. docker构建.net core运行的镜像

    在docker很火的今天,越来越多的应用现在都在往docker上迁移,.net core怎么能落后? 项目要运行在docker上,我们需要先制作镜像,可以基于centos来制作,当然也可以基于Ubun ...

  9. Docker构建nginx的nginx-rtmp-module视频服务器镜像

    文章地址:https://www.cnblogs.com/linyilong3/p/5862595.html GitHub nginx-rtmp-module 及配置 Dockerfile构建配置: ...

随机推荐

  1. Python内置函数(66)——vars

    英文文档: vars([object]) Return the __dict__ attribute for a module, class, instance, or any other objec ...

  2. Python2中文处理纪要

    python2不是以unicode作为基本代码字符类型,碰到乱码的几率是远远高于python3,但即便如此,相信很多人,也不想随意的迁移到python3,这里就总结几个我平常碰到的问题及解法. 文件中 ...

  3. 使用mpvue开发小程序教程(一)

    前段时间,美团开源了mpvue这个项目,使得我们又多了一种用来开发小程序的框架选项.由于mpvue框架是完全基于Vue框架的(重写了其runtime和compiler),因此在用法上面是高度和Vue一 ...

  4. 免费IPv6访问收费IPv4,校园网免流量

    软件:马上6 介绍: “可以让用户在免费的IPv6网络环境,有具备访问收费的IPv4互联网内容的能力!节省校园网流量!使用马上6客户端软件之后可以访问的IPv4互联网的内容(包括视频.游戏.音乐.学习 ...

  5. PC逆向之代码还原技术,第二讲寻找程序入口点

    PC逆向之代码还原技术,第二讲寻找程序入口点 一丶简介 程序逆向的时候.我们需要知道程序入口点.动态分析的时候以便于看是什么程序编写的. 比如VC++6.0 我们可以写一个程序测试一下 我们写一段代码 ...

  6. JDK源码分析(三)—— LinkedList

    参考文档 JDK源码分析(4)之 LinkedList 相关

  7. Autorelease机制讲解

    Autorelease机制是在iOS内存管理中的一员.在MRC中,是通过调用[obj autorelease]来延迟内存释放:在ARC中,我们已经完全不需要知道Autorelease就能很好地管理好内 ...

  8. .Net File类的操作

    //File类的常用操作方法 //File类的常用操作方法 //File.Exists //检测是否存在该文件 Exists //File.Create //创建一个文件 Create //File. ...

  9. SQL Server分页存储过程通用存储过程

    CREATE proc [dbo].[p_paging]@tableName varchar(8000),          --表名.视图名@indexCol varchar(50) = 'id', ...

  10. 看Android Stuido教程有感

    毕业两年了,之前一直都在另外的博客里写之前大学的经历,以及转载一些学习Android的点滴,原创的并不多.因为现在更多的是在博客园里逛,所以直到上个月还是鼓起勇气开通了博客,算来到今天也有一段时间了, ...