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. json对象和json字符串

    Javascript字符串与JSON字符串的最大区别在于,JSON字符串必须使用双引号(单引号会导致语法错误) 与Javascript的对象字面量相比,JSON对象有两个地方不一样.首先,没有声明变量 ...

  2. java代码之美(8)---guava字符串工具

    guava字符串工具 在java开发过程中对字符串的处理是非常频繁的,google的guava工具对字符串的一些处理进行优化,使我们开发过程中让自己的代码看去更加美观,清爽. 一.Joiner 根据给 ...

  3. 第五章 服务容错保护:Spring Cloud Hystrix

    在微服务架构中,我们将系统拆分为很多个服务,各个服务之间通过注册与订阅的方式相互依赖,由于各个服务都是在各自的进程中运行,就有可能由于网络原因或者服务自身的问题导致调用故障或延迟,随着服务的积压,可能 ...

  4. Android应用系列:仿MIUI的Toast动画效果实现(有图有源码)

    前言 相信有些人用过MIUI,会发现小米的Toast跟Android传统的Toast特么是不一样的,他会从底部向上飞入,然后渐变消失.看起来效果是挺不错的,但是对于Android原生Toast是不支持 ...

  5. SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1

    在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...

  6. HUSTOJ:Transit Tree Path

    问题 D: Transit Tree Path   You are given a tree with N vertices.Here, a tree is a kind of graph, and ...

  7. 手把手教你如何优雅的使用Aop记录带参数的复杂Web接口日志

    前言 不久前,因为需求的原因,需要实现一个操作日志.几乎每一个接口被调用后,都要记录一条跟这个参数挂钩的特定的日志到数据库.举个例子,就比如禁言操作,日志中需要记录因为什么禁言,被禁言的人的id和各种 ...

  8. 精读《Scheduling in React》

    1. 引言 这次介绍的文章是 scheduling-in-react,简单来说就是 React 的调度系统,为了得到更顺滑的用户体验. 毕竟前端做到最后,都是体验优化,前端带给用户的价值核心就在于此. ...

  9. Java开发知识之Java入门

    Java开发知识之Java入门 一丶了解JAVA的版本 JAVA 有三个版本 JAVA SE: 标准版,开发桌面跟商务应用程序 JAVA SE 包括了Java的核心类库,集合,IO 数据库连接 以及网 ...

  10. 根据数值获得概率密度pdf和累积密度分布cdf(MATLAB语言)

    y=randn(1,3000); % 生成1-by-3000的标准正态分布随机数 ymin=min(y); ymax=max(y); x=linspace(ymin,ymax,20); %将最大最小区 ...