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构建配置: ...
随机推荐
- Python内置函数(47)——open
英文文档: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, ope ...
- 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校
上一次,我们通过宿舍联网打魔兽的需求,认识了如何通过物理层和链路层组建一个宿舍局域网.今天,让我们切换到稍微复杂点的场景,办公室. 在这个场景里,就不像在宿舍那样,搞几根网线,拉一拉, ...
- JVM虚拟机(1)---常用JVM配置参数
常用JVM配置参数 常用JVM配置参数主要有:Trace跟踪参数.堆的分配参数.栈的分配参数. 一.Trace跟踪参数 跟踪参数用于跟踪监控JVM,对于开发人员来讲用于JVM调优以及故障排查的. 1. ...
- Zookeeper知识点
Zookeeper是一个分布式协调服务 Zookeeper服务器的角色 Leader: 所有的写操作必须要经过Leader完成,在广播给其它服务器.心跳检测.集群中只有一个Leader. Follow ...
- .NET Core中的路由约束
背景介绍 上周给大家分享了Nancy in .NET Core学习笔记 - 路由之后, 就一直在考虑.NET Core能否实现和Nancy中一样的路由约束, 最近查阅了一下MSDN及一些国外博客, 发 ...
- Sdcard插拔、状态广播监听,Android文件系统,Android存储器相关知识总结
一 SDcard广播监听,注册,取消注册的实现 (1)根据实际需要监听的事件,添加action,并注册,一般在onCreate中添加 //在IntentFilter中选择你要监听的行为 IntentF ...
- 设计模式总结篇系列:工厂方法模式(Factory Method)
工厂方法模式适合于对实现了同一接口或继承了同一父类的一些类进行实例的创建.一般是通过定义一个工厂类,并在其方法中实现对具有上述特点的类对象的创建. 根据具体产生类对象的方法定义形式,又可以将其分为普通 ...
- Java面试系列--java基础
Java基础总结 JAVA中的几种基本数据类型是什么,各自占用多少字节. 八大基本数据类型,byte:8位,short:16位,int:32位,long:64位,float:32位,double:64 ...
- SSH隧道:端口转发功能详解
SSH系列文章: SSH基础:SSH和SSH服务 SSH转发代理:ssh-agent用法详解 SSH隧道:端口转发功能详解 1.1 ssh安全隧道(一):本地端口转发 如下图,假如host3和host ...
- 用meterpreter实现跳板机
meterpreter跳板机 背景:渗透测试者A拿到了B主机的控制权,但没有拿到ssh密码(不能打ssh隧道).现需横向移动渗透内网主机C,为了避免动作过大不便直接在B上对C进行渗透,其中C不能出 ...