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@192 ~]# rz
-bash: rz: 未找到命令
#安装rz工具
[root@192 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  00:00:00     
docker-ce-stable                                                                          | 3.5 kB  00:00:00     
extras                                                                                    | 3.4 kB  00:00:00     
updates                                                                                   | 3.4 kB  00:00:00     
正在解决依赖关系
--> 正在检查事务
---> 软件包 lrzsz.x86_64.0.0.12.20-36.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=================================================================================================================
 Package                 架构                     版本                              源                      大小
=================================================================================================================
正在安装:
 lrzsz                   x86_64                   0.12.20-36.el7                    base                    78 k

事务概要
=================================================================================================================
安装  1 软件包

总下载量:78 k
安装大小:181 k
Is this ok [y/d/N]: y
Downloading packages:
lrzsz-0.12.20-36.el7.x86_64.rpm                                                           |  78 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : lrzsz-0.12.20-36.el7.x86_64                                                                  1/1 
  验证中      : lrzsz-0.12.20-36.el7.x86_64                                                                  1/1 

已安装:
  lrzsz.x86_64 0:0.12.20-36.el7                                                                                  

完毕!
#将windows文件拖进xshell, 会出现图形界面,显示传输进度
[root@192 ~]# rz -E
rz waiting to receive.
#确认 dockerfile_.zip传输进了linux宿主机
[root@192 ~]# ls
anaconda-ks.cfg  dockerfile_.zip  nginx.tar
# 发现unzip工具没有安装
[root@192 ~]# unzip
-bash: unzip: 未找到命令
#安装unzip工具
[root@192 ~]# 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.0-19.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=================================================================================================================
 Package                  架构                      版本                           源                       大小
=================================================================================================================
正在安装:
 unzip                    x86_64                    6.0-19.el7                     base                    170 k

事务概要
=================================================================================================================
安装  1 软件包

总下载量:170 k
安装大小:365 k
Downloading packages:
unzip-6.0-19.el7.x86_64.rpm                                                               | 170 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : unzip-6.0-19.el7.x86_64                                                                      1/1 
  验证中      : unzip-6.0-19.el7.x86_64                                                                      1/1 

已安装:
  unzip.x86_64 0:6.0-19.el7                                                                                      

完毕!
解压 dockerfile_.zip 文件
[root@192 ~]# 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@192 ~]# ls -l
总用量 110492
-rw-------. 1 root root      1282 3月  11 16:29 anaconda-ks.cfg
-rw-r--r--  1 root root       833 11月 25 20:29 Dockerfile-nginx
-rw-r--r--  1 root root      1331 11月  3 11:06 Dockerfile-php
-rw-r--r--  1 root root       862 11月 25 20:30 Dockerfile-tomcat
-rw-r--r--  1 root root     33157 11月 25 20:30 dockerfile_.zip
-rw-r--r--  1 root root      1137 10月 29 03:02 nginx.conf
-rw-r--r--. 1 root root 112984576 3月  11 17:37 nginx.tar
-rw-r--r--  1 root root     23104 10月 29 02:57 php-fpm.conf
-rw-r--r--  1 root root     73696 11月  3 12:55 php.ini
[root@192 ~]# vi Dockerfile-nginx 
[root@192 ~]# docker build -t nginx:v1 -f Dockerfile-nginx .
Sending build context to Docker daemon  113.1MB
Step 1/9 : FROM centos:7
 ---> 1e1148e4cc2c
Step 2/9 : MAINTAINER www.ctnrs.com
 ---> Running in bf77ab5a1997
Removing intermediate container bf77ab5a1997
 ---> 518178772205
Step 3/9 : 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 暗号:博客园.

posted on 2019-03-15 14:49  梅梅~  阅读(794)  评论(0编辑  收藏  举报

导航