栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker部署apache服务(使用存储卷)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker部署apache服务(使用存储卷)

源码部署apache服务 拉取镜像
[root@localhost ~]# docker pull centos:8
8: Pulling from library/centos
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Image is up to date for centos:8
docker.io/library/centos:8

创建一个带有存储卷的容器

这里我们使用的是指定存储卷方法

[root@localhost ~]# docker run -it --name httpd --network host -v /usr/src:/usr/src centos:8 

上传包
[root@localhost ~]# ls /usr/src/
apr-1.7.0.tar.gz  apr-util-1.6.1.tar.gz  debug  httpd-2.4.48.tar.gz  kernels
部署
[root@localhost ~]# cd /usr/src/
[root@localhost src]# tar xf apr-1.7.0.tar.gz
[root@localhost src]# tar xf apr-util-1.6.1.tar.gz 
[root@localhost src]# tar xf httpd-2.4.48.tar.gz 

[root@56b673ad4dc4 /]# ls /usr/src/
apr-1.7.0  apr-1.7.0.tar.gz  apr-util-1.6.1  apr-util-1.6.1.tar.gz  debug  httpd-2.4.48  httpd-2.4.48.tar.gz  kernels

//安装开发工具包
[root@56b673ad4dc4 /]# yum -y groups mark install 'Development Tools'
Failed to set locale, defaulting to C.UTF-8
CentOS Linux 8 - AppStream                                                                                 2.1 MB/s | 8.2 MB     00:03    
CentOS Linux 8 - baseOS                                                                                    2.6 MB/s | 3.5 MB     00:01    
CentOS Linux 8 - Extras                                                                                     11 kB/s |  10 kB     00:00    
Dependencies resolved.
===========================================================================================================================================
 Package                          Architecture                    Version                           Repository                        Size
===========================================================================================================================================
Installing Groups:
 Development Tools                                                                                                                        

Transaction Summary
===========================================================================================================================================

Complete!

//安装依赖包
[root@56b673ad4dc4 /]# yum -y install openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make

//源码安装apr
[root@56b673ad4dc4 /]# cd /usr/src/
[root@56b673ad4dc4 src]# cd apr-1.7.0
[root@56b673ad4dc4 apr-1.7.0]# vim configure
    cfgfile=${ofile}T
    trap "$RM "$cfgfile"; exit 1" 1 2 15
    $RM "$cfgfile"		//删掉此行

[root@56b673ad4dc4 apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@56b673ad4dc4 apr-1.7.0]# make && make install

//编译安装apr-util
[root@56b673ad4dc4 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

//编译安装httpd
[root@56b673ad4dc4 httpd-2.4.48]# ./configure --prefix=/usr/local/apache 
--enable-so 
--enable-ssl 
--enable-cgi 
--enable-rewrite 
--with-zlib 
--with-pcre 
--with-apr=/usr/local/apr 
--with-apr-util=/usr/local/apr-util/ 
--enable-modules=most 
--enable-mpms-shared=all 
--with-mpm=prefork

[root@56b673ad4dc4 httpd-2.4.48]# make && make install

[root@56b673ad4dc4 httpd-2.4.48]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh
[root@56b673ad4dc4 httpd-2.4.48]# source /etc/profile.d/httpd.sh

[root@56b673ad4dc4 httpd-2.4.48]# ln -s /usr/local/apache/include/ /usr/include/httpd
[root@56b673ad4dc4 httpd-2.4.48]# vim /etc/man_db.conf
[root@56b673ad4dc4 httpd-2.4.48]# cat /etc/man_db.conf 
#
MANDATORY_MANPATH                       /usr/man
MANDATORY_MANPATH                       /usr/share/man
MANDATORY_MANPATH                       /usr/local/share/man
MANDATORY_MANPATH                       /usr/local/apache/man

//去掉注释
[root@56b673ad4dc4 httpd-2.4.48]# vim /usr/local/apache/conf/httpd.conf
ServerName www.example.com:80

//启动apache
[root@56b673ad4dc4 httpd-2.4.48]# apachectl start
[root@56b673ad4dc4 httpd-2.4.48]# ss -anlt
State           Recv-Q          Send-Q                   Local Address:Port                    Peer Address:Port          Process          
LISTEN          0               128                            0.0.0.0:80                           0.0.0.0:*                              

[root@56b673ad4dc4 httpd-2.4.48]# curl http://127.0.0.1:80

It works!

打包成镜像
[root@localhost ~]# docker ps
ConTAINER ID   IMAGE                   COMMAND       CREATED          STATUS          PORTS     NAMES
b21f5fe3b0bc   xaw/httpd:v1.0   "/bin/bash"   24 minutes ago   Up 24 minutes             httpd2


[root@localhost ~]# docker commit -p -c 'CMD ["/bin/bash","
apachectl start"]' b21f5fe3b0bc xaw/httpd:v1.0
sha256:ead1ca35e71f44ef9b1de16accee22bcf2dd58d44f7f959f8664
b08c7a4e8557
[root@localhost ~]# docker images
REPOSITORY         TAG       IMAGE ID       CREATED        
 SIZE
xaw/httpd   v1.0      ead1ca35e71f   7 seconds ago  
 607MB

安装nfs

新打开一台虚拟机

[root@nfs ~]# mkdir /nfs  
[root@nfs ~]# vi /etc/exports 
[root@nfs ~]# cat /etc/exports 
/nfs 192.168.47.163(rw)
[root@nfs ~]# yum -y install nfs-utils
[root@nfs ~]# systemctl start nfs-server
//记得关防火墙
[root@nfs ~]# systemctl stop firewalld

docker主机上安装nfs
[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# showmount -e 192.168.47.164
Export list for 192.168.47.164:
/nfs 192.168.47.163

挂载
[root@localhost ~]# df -h
文件系统             容量  已用  可用 已用% 挂载点
devtmpfs             876M     0  876M    0% /dev
tmpfs                895M     0  895M    0% /dev/shm
tmpfs                895M  8.8M  886M    1% /run
tmpfs                895M     0  895M    0% /sys/fs/cgroup
/dev/mapper/cs-root   47G  3.6G   44G    8% /
/dev/sda1           1014M  195M  820M   20% /boot
tmpfs                179M     0  179M    0% /run/user/0
overlay               47G  3.6G   44G    8% /var/lib/docker/overlay2/de6ab9425f6543bc359205cedeae7c01892ba6dd688a8071ec275046fa57973a/merged
192.168.47.164:/nfs   47G  2.1G   45G    5% /var/www/html

创建容器并映射
[root@localhost ~]# docker run -itd --name httpd33 -p 80:80 -v /var/www/html/:/usr/local/apache/htdocs ead1ca35e71f
c6cdc7234a031ec6993aedcd95103c7f475f18de4d2f35c04bdc44d56f41ba9f
[root@localhost ~]# docker ps
ConTAINER ID   IMAGE          COMMAND       CREATED             STATUS             PORTS     NAMES
e22ff32278cb   809d37e9b570   "/bin/bash"   about an hour ago   Up about an hour             httpd33

给权限
[root@nfs ~]# chown nobody.nobody /nfs
上传
[root@nfs ~]# ls /nfs/
html

访问

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/642284.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号