一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 詳解使用Dockerfile創建帶Apache服務的CentOS Docker鏡像

詳解使用Dockerfile創建帶Apache服務的CentOS Docker鏡像

2021-01-04 22:45cmzsteven 服務器知識

本篇文章主要介紹了使用Dockerfile創建帶Apache服務的CentOS Docker鏡像,具有一定的參考價值,有興趣的可以了解一下。

使用Dockerfile創建帶Apache服務的CentOS Docker鏡像

在宿主機上準備的文件清單:

Dockerfile

?
1
2
#啟動ssh和apache服務的角本
run.sh

以上文件都放到/root/apache_centos目錄下

?
1
2
mkdir -p /root/apache_centos
cd /root/apache_centos

基礎鏡像:以鏡像centos為基礎的開放SSH服務的鏡像

?
1
2
3
4
[root@localhost apache_centos]# docker images
REPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZE
sshd        dockerfile     411d5fb16366    23 hours ago    278 MB
centos       latest       0f73ae75014f    5 weeks ago     172.3 MB

一、準備run.sh文件

在/root/apache_centos目錄新建run.sh

?
1
vim run.sh

內容如下:

?
1
2
3
#!/bin/bash
/usr/sbin/sshd &
/usr/local/apache2/bin/httpd -D FOREGROUND

二、準備Dockerfile

在/root/apache_centos目錄新建Dockerfile

?
1
vim Dockerfile

文件內容如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#新生成的鏡像是基于sshd:dockerfile鏡像
FROM sshd:dockerfile
MAINTAINER by Steven
#安裝wget
RUN yum install -y wget
WORKDIR /usr/local/src
#下載并解壓源碼包
RUN wget http://apache.fayea.com/httpd/httpd-2.4.17.tar.gz
RUN tar -zxvf httpd-2.4.17.tar.gz
WORKDIR httpd-2.4.17
#編譯安裝apache
RUN yum install -y gcc make apr-devel apr apr-util apr-util-devel pcre-devel
RUN ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so
RUN make
RUN make install
#修改apache配置文件
RUN sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' /usr/local/apache2/conf/httpd.conf
#啟動apache服務
RUN /usr/local/apache2/bin/httpd
#復制服務啟動腳本并設置權限
ADD run.sh /usr/local/sbin/run.sh
RUN chmod 755 /usr/local/sbin/run.sh
#開放80端口
EXPOSE 80
CMD ["/usr/local/sbin/run.sh"]

需要注意的是:在Dockerfile文件中更換當前目錄不可以用“cd”命令,而要改用“WORKDIR”.

三、生成鏡像

?
1
docker build -t apache_dockerfile:centos .

查看生成的鏡像:

?
1
2
3
4
5
6
[root@localhost apache_centos]# docker images
REPOSITORY     TAG         IMAGE ID      CREATED       VIRTUAL SIZE
apache_dockerfile  centos       f8f30b4a0ee8    24 minutes ago   440 MB
apache       centos       f92c55dddd07    17 hours ago    423.9 MB
sshd        dockerfile     411d5fb16366    23 hours ago    278 MB
centos       latest       0f73ae75014f    5 weeks ago     172.3 MB

四、根據鏡像生成的容器并進行測試

1、生成新的容器

?
1
docker run -d -p 2222:22 -p 8000:80 apache_dockerfile:centos /usr/local/sbin/run.sh

將容器的22端口和80端口分別映射到到宿主機上的2222端口和8000端口,并運行服務腳本。

2、查看新生成的容器:

?
1
2
3
4
5
[root@localhost apache_centos]# docker ps -a
CONTAINER ID    IMAGE           COMMAND        CREATED       STATUS           PORTS                    NAMES
ae560e497f39    apache_dockerfile:centos  "/usr/local/sbin/run  45 seconds ago   Up 44 seconds        0.0.0.0:2222->22/tcp, 0.0.0.0:8000->80/tcp  condescending_bardeen
6490cd244c10    apache:centos       "/usr/local/apache2/  17 hours ago    Exited (0) 17 hours ago                         loving_wright
673e946b57e4    sshd:dockerfile      "/usr/local/sbin/run  18 hours ago    Exited (137) 17 hours ago                        reverent_bell

3、測試

測試apache

?
1
2
[root@localhost apache_centos]# curl localhost:8000
<html><body><h1>It works!</h1></body></html>

成功!

測試ssh

?
1
2
[root@localhost apache_centos]# ssh localhost -p 2222
root@localhost's password:

成功!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.linuxidc.com/Linux/2016-06/132399.htm

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产小视频在线免费观看 | re99热| 婷婷精品进入 | 逼中极品| 无人知晓小说姜璟免费阅读 | 国产91视频网| 国内精品99 | 欧美日韩国产中文字幕 | 日韩精品一区二区三区中文版 | 日本三级免费观看 | 小小水蜜桃视频高清在线播放 | 亚洲欧美久久久久久久久久爽网站 | chinese一bdsmⅹxx| 桃色导航 | 久久亚洲午夜牛牛影视 | 亚洲精品欧洲久久婷婷99 | 亚洲日本aⅴ片在线观看香蕉 | 男人j放进女人的p免费看视频 | 日本动漫打扑克动画片樱花动漫 | 91精品国产综合久久消防器材 | 免费在线中文字幕 | 日本韩国一区二区三区 | 果冻传媒在线视频播放观看 | 日韩中文字幕在线不卡 | 天美网站传媒入口网址 | 美女视频ww8888网网 | 波多在线 | 午夜毛片在线观看 | 男女污网站 | 午夜伦理电影在线观免费 | 日韩精品亚洲一级在线观看 | 国产亚洲精品高清在线 | 欧美成人午夜片一一在线观看 | 男人日女人的逼视频 | 513热点网深夜影院影院诶 | 亚洲国产影院 | 欧美一级xxxx俄罗斯一级 | 韩国三级在线 | bt国产| 男人最爱看的网站 | 青青青国产精品国产精品久久久久 |