Docker: 构建Nginx,PHP,Tomcat基础镜像
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基础镜像的更多相关文章
- Docker构建nginx+uwsgi+flask镜像(二)
Dockerfile搭建环境并打包应用 在上一章Docker构建nginx+uwsgi+flask镜像(一)的学习中,我们学会用命令行一句一句在alpine环境中搭建nginx+uwsgi+flask ...
- 物联网架构成长之路(25)-Docker构建项目用到的镜像1
0. 前言 现在项目处于初级阶段,按照规划,先构建几个以后可能会用到的Image,并上传到阿里云的Docker仓库.以后博客中用到的Image,大部分都会用到这几个基础的Image,构建一个简单的物联 ...
- 使用Docker构建PHP7.4 + Swoole + Redis镜像
使用Docker构建PHP7.4 + Swoole + Redis镜像 Docker是一个用于开发,交付和运行应用程序的开放平台.开发者可以利用Docker来快速交付,测试和部署代码,从而大大减少编写 ...
- Docker构建nginx+uwsgi+flask镜像(一)
前言 笔者之前是从事Java方面的工作,自从18年5月左右来到新的公司,接触到Python,被其简单优雅的语法风格深深吸引,同时,新公司也帮助笔者打开Docker世界的大门,让笔者体会到“一次打包,到 ...
- 用Docker构建Nginx镜像
1构建Nginx镜像 1建立工作目录 [root@localhost ]# mkdir 1nginx [root@localhost 1nginx]# cd 1nginx/ [root@localho ...
- Docker - 构建一个简单的应用镜像
概述 做个简单的可用镜像 背景 之前的镜像, 都是 命令教程 类的 这次我想构建一个 可以用的 简单镜像镜像 1. 环境 os centos7 docker 18.09 docker image ja ...
- Docker部署nginx,tomcat,es,可视化
nginx [root@iz2zeaet7s13lfkc8r3e2kz /]# docker pull nginx #下载 Using default tag: latest latest: Pull ...
- docker构建.net core运行的镜像
在docker很火的今天,越来越多的应用现在都在往docker上迁移,.net core怎么能落后? 项目要运行在docker上,我们需要先制作镜像,可以基于centos来制作,当然也可以基于Ubun ...
- Docker构建nginx的nginx-rtmp-module视频服务器镜像
文章地址:https://www.cnblogs.com/linyilong3/p/5862595.html GitHub nginx-rtmp-module 及配置 Dockerfile构建配置: ...
随机推荐
- Java8 新特性 | 如何风骚走位防止空指针异常
文章整理翻译自 https://winterbe.com/posts/2015/03/15/avoid-null-checks-in-java/ 文章首发于个人网站: https://www.exce ...
- "无需开发经验" 也能拥有小程序
本文分享嘉宾:毛帅,又拍图片管家资深开发工程师,主要负责又拍图片管家.图管小程序第三方平台.图管小程序等项目的开发.维护及拓新工作.熟悉 JS / C++ 等语言,有丰富的 NodeJS 开发经验,热 ...
- windows git 上传
1.打开git.bash 2. 告诉要传的git的用户名字 和邮箱地址 git config --global user.name "CardLove" git config -- ...
- 全文检索-Elasticsearch (二) CURD
ElasticSearch6.0以上版本的增删改查基本操作基于JSON的REST API与ElasticSearch进行通信.可以使用任何HTTP客户端来通信.当然ElasticSearch自己的文档 ...
- Docker系列03—Docker 基础入门
本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...
- JDK源码分析(三)—— LinkedList
参考文档 JDK源码分析(4)之 LinkedList 相关
- VBA批量导入图片到多Word文档并加标题(会飞的鱼)
感谢会飞的鱼大牛~ Public fp$, obmapp As Object Sub kk() 文件夹浏览器 Application.ScreenUpdating = False Set fso = ...
- linux_shell 编程学习-初识she'll
一.she'll编程规范 1.she'll脚本命名一般为英文的大小写; 2.不能用特殊符号.空格来命名; 3.she'll脚本后缀以.sh结尾; 4.不建议she'll命名为纯数字,一般以脚本功能命名 ...
- 设计模式之 SOA面向服务的体系
SOA英文直译是,面向服务的体系结构. SOA是一种设计方法,其中包含多个服务,而服务之间通过配合最终会提供一系列功能.一个服务通常以独立的形式存在于操作系统进程中. 想要看到更多玮哥的学习笔记.考试 ...
- SQL中# 与$ 的区别
区别: (1)#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是id,则解析成的sql为order by "id&quo ...