创建支持nginx服务的docker镜像

简介:

环境:

1
2
3
4
5
[root@linux-node1 ~] # cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@linux-node1 ~] # uname -a
Linux linux-node1 3.10.0-327.el7.x86_64  #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@linux-node1 ~] #


创建目录并下载对应的软件包:

1
2
3
4
5
6
7
[root@linux-node1 ~] #mkdir -p nginx_centos
[root@linux-node1 ~] #
[root@linux-node1 nginx_centos] # ll
total 2864
-rw-r--r-- 1 root root  864430 Aug  6 21:12 nginx-1.9.3. tar .gz
-rw-r--r-- 1 root root 2058349 Aug  6 21:39 pcre-8.37. tar .gz
[root@linux-node1 nginx_centos] #

编写Dockerfile文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@linux-node1 nginx_centos] # vim Dockerfile 
#Version 1.0
#Author: Wilson
#Base images
FROM centos
#MAINTAINER
MAINTAINER Wilson
#ADD
ADD pcre-8.37. tar .gz  /usr/local/src
ADD nginx-1.9.3. tar .gz  /usr/local/src
#RUN
RUN   yum -y  install  wget gcc gcc-c++  make  openssl openssl-devel
RUN    useradd  -s  /sbin/nologin  -M www
#WORKDIR
WORKDIR    /usr/local/src/nginx-1 .9.3
RUN      . /configure  --prefix= /usr/local/nginx  --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre= /usr/local/src/pcre-8 .37 &&  make  &&  make  install 
RUN       echo  "daemon off;"  >> /usr/local/nginx/conf/nginx .conf
ENV     PATH  /usr/local/nginx/sbin :$PATH
EXPOSE 80
CMD [ "nginx" ]
[root@linux-node1 nginx_centos] #


创建镜像并查看:

1
2
3
4
5
6
7
8
9
[root@linux-node1 nginx_centos] # docker build -t ningx-file:v01 ./
[root@linux-node1 nginx_centos] #
[root@linux-node1 nginx_centos] # docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ningx- file           v01                 460b5af495c4        16 minutes ago      531.9 MB
nginx /ningx          1.9.3v02            097c98e3cb2b        About an hour ago   534.6 MB
nginx               1.9.3               d2cfb9ed3f2b        6 hours ago         534.6 MB
docker.io /centos     latest              970633036444        8 days ago          196.7 MB
[root@linux-node1 nginx_centos] #


利用创建的镜像启动一个容器webserver002

1
2
3
4
5
[root@linux-node1 nginx_centos] #docker run -d -p 9000:80 --name webserver002 460b5af495c4
[root@linux-node1 nginx_centos] #
[root@linux-node1 nginx_centos] # docker ps -a|grep webserver002
5ab1e96830c1        460b5af495c4         "nginx"                   9 minutes ago       Up 9 minutes        0.0.0.0:9000->80 /tcp    webserver002
[root@linux-node1 nginx_centos]

说明:-p将宿主机本地端口与容器内部端口进行指定映射,这里是宿主机本地9000端口与容器内部80端口映射

验证是否能通过9000端口访问:截图如下:

wKioL1emq8uBKogIAAB7jAA91Kk059.png-wh_50


至此,支持nginx的服务的docker镜像创建完成








      本文转自027ryan  51CTO博客,原文链接: http://blog.51cto.com/ucode/1835312
,如需转载请自行联系原作者



相关文章
|
15天前
|
Ubuntu NoSQL 开发工具
《docker基础篇:4.Docker镜像》包括是什么、分层的镜像、UnionFS(联合文件系统)、docker镜像的加载原理、为什么docker镜像要采用这种分层结构呢、docker镜像commit
《docker基础篇:4.Docker镜像》包括是什么、分层的镜像、UnionFS(联合文件系统)、docker镜像的加载原理、为什么docker镜像要采用这种分层结构呢、docker镜像commit
150 70
|
9天前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用
58 27
|
14天前
|
Ubuntu NoSQL Linux
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
91 6
《docker基础篇:3.Docker常用命令》包括帮助启动类命令、镜像命令、有镜像才能创建容器,这是根本前提(下载一个CentOS或者ubuntu镜像演示)、容器命令、小总结
|
10天前
|
存储 Docker 容器
Docker-基础(数据卷、自定义镜像、Compose)
通过数据卷实现持久化存储,通过自定义镜像满足特定需求,通过Docker Compose方便地管理多容器应用。掌握这些Docker基础概念和操作,可以显著提高开发和部署效率,确保应用程序的可移植性和可扩展性。
58 22
|
17天前
|
Ubuntu NoSQL 关系型数据库
《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
《docker基础篇:6.本地镜像发布到私有库》包括本地镜像发布到私有库流程、docker regisry是什么、将本地镜像推送到私有库
91 29
|
1月前
|
Docker 容器
将本地的应用程序打包成Docker镜像
将本地的应用程序打包成Docker镜像
|
1月前
|
NoSQL PHP MongoDB
docker push推送自己搭建的镜像
本文详细介绍了如何搭建和复盘两个Web安全挑战环境:人力资源管理系统和邮件管理系统。首先,通过Docker搭建MongoDB和PHP环境,模拟人力资源管理系统的漏洞,包括nosql注入和文件写入等。接着,复盘了如何利用这些漏洞获取flag。邮件管理系统部分,通过目录遍历、文件恢复和字符串比较等技术,逐步绕过验证并最终获取flag。文章提供了详细的步骤和代码示例,适合安全研究人员学习和实践。
54 3
docker push推送自己搭建的镜像
|
1月前
|
Docker 容器
|
1月前
|
数据库 Docker 容器
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。
Docker在现代软件开发中扮演着重要角色,通过Dockerfile自动化构建Docker镜像,实现高效、可重复的构建过程。Dockerfile定义了构建镜像所需的所有指令,包括基础镜像选择、软件安装、文件复制等,极大提高了开发和部署的灵活性与一致性。掌握Dockerfile的编写,对于提升软件开发效率和环境管理具有重要意义。
75 9
|
1月前
|
存储 缓存 运维
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像
Docker镜像采用分层存储,每层代表镜像的一部分,如基础组件或应用依赖,多层叠加构成完整镜像。此机制减少存储占用,提高构建和传输效率。Docker还通过缓存机制提升构建和运行效率,减少重复工作。文章深入解析了Docker镜像分层存储与缓存机制,包括具体实现、管理优化及实际应用案例,帮助读者全面理解其优势与挑战。
67 4

热门文章

最新文章