docker部署apache服务(使用存储卷)
用一个存储卷部署一个网站
创建容器
[root@localhost ~]# docker run --name centos -dit centos /bin/bash
5797953ad4494972432350c3ddfc41e3d8cfe0dcb771d3c868550e1f9057b992
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5797953ad449 centos "/bin/bash" 7 seconds ago Up 6 seconds centos传输httpd编译所需的资源包
[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
apr-1.7.0.tar.gz debug kernels
apr-util-1.6.1.tar.gz httpd-2.4.51.tar.gz
[root@localhost src]# docker cp httpd-2.4.49.tar.gz centos:/usr/src/
[root@localhost src]# docker cp apr-1.7.0.tar.gz centos:/usr/src/
[root@localhost src]# docker cp apr-util-1.6.1.tar.gz centos:/usr/src/连接容器并下载依赖包
[root@5797953ad449 /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
[root@5797953ad449 /]# cd /usr/src/
[root@5797953ad449 src]# ls
apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz debug httpd-2.4.49.tar.gz kernels
[root@5797953ad449 src]# yum groups mark install 'Development Tools'
[root@5797953ad449 src]# yum -y install openssl-devel pcre-devel pcre expat-devel libtool gcc gcc-c++ make创建id
[root@5797953ad449 src]# groupadd -r apache
[root@5797953ad449 src]# useradd -r -M -s /sbin/nologin -g apache apache
[root@5797953ad449 src]# id apache
uid=998(apache) gid=996(apache) groups=996(apache)安装依赖包apr
[root@5797953ad449 src]# tar xf apr-1.7.0.tar.gz
[root@5797953ad449 src]# tar xf apr-util-1.6.1.tar.gz
[root@5797953ad449 src]# tar xf httpd-2.4.49.tar.gz
[root@5797953ad449 src]# ls
apr-1.7.0 apr-util-1.6.1 debug httpd-2.4.49.tar.gz
apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.51 kernels
[root@5797953ad449 src]# cd apr-1.7.0
[root@5797953ad449 apr-1.7.0]# sed -i '/$RM "$cfgfile"/d' configure
[root@5797953ad449 apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@5797953ad449 apr-1.7.0]# make && make install安装依赖包apr-util
[root@5797953ad449 apr-1.7.0]# cd ../apr-util-1.6.1
[root@5797953ad449 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@5797953ad449 apr-util-1.6.1]# make && make install安装软件包httpd
[root@5797953ad449 apr-util-1.6.1]# cd ../httpd-2.4.49
[root@5797953ad449 apr-util-1.6.1]# ./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@5797953ad449 httpd-2.4.49]# make && make install[root@5797953ad449 httpd-2.4.49]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh
[root@5797953ad449 httpd-2.4.49]# source /etc/profile.d/httpd.sh
[root@5797953ad449 httpd-2.4.49]# ln -s /usr/local/apache/include/ /usr/include/httpd
[root@5797953ad449 httpd-2.4.49]# echo 'MANPATH /usr/local/apache/man' >> /etc/man.config
[root@5797953ad449 httpd-2.4.49]# sed -i '/#ServerName/s/#//g' /usr/local/apache/conf/httpd.conf编写启动脚本
[root@5797953ad449 httpd-2.4.49]# mkdir /scripts/
[root@5797953ad449 httpd-2.4.49]# cd /scripts/
[root@5797953ad449 scripts]# touch start.sh
[root@5797953ad449 scripts]# chmod +x start.sh
[root@5797953ad449 scripts]# vi start.sh
[root@5797953ad449 scripts]# cat start.sh
#!/bin/bash/usr/local/apache/bin/apachectl start
/bin/bash制作镜像
[root@localhost src]# docker commit -a 'csl <yibie>' -c 'CMD ["/scripts/start.sh"]' -p centos httpd:v1.0
sha256:3d403d117443ab5d8d7fdd6ff84befe8e2391c61bf143eb817d345f4df24635f
在另一台主机配置nfs存储
安装nfs
[root@nfs ~]# yum -y install nfs-server
[root@nfs ~]# systemctl enable --now nfs-server.service
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.
创建共享目录
[root@nfs ~]# mkdir /nfs
[root@nfs ~]# chmod 777 /nfs/
[root@nfs ~]# vim /etc/exports
/nfs 192.168.57.139(rw)
[root@nfs ~]# systemctl restart nfs-server.service在docker主机上配置nfs安装nfs
[root@localhost ~]# yum -y install nfs-utils
[root@localhost ~]# systemctl enable --now nfs-server.service
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.查看共享
[root@localhost ~]# showmount -e 192.168.230.132
Export list for 192.168.57.139:
/nfs 192.168.57.140永久挂载
[root@localhost ~]# vim /etc/fstab #
# /etc/fstab
# Created by anaconda on Mon Oct 11 04:00:01 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=c8ac0ee8-e337-4e19-bad8-2fda61bb24b2 /boot xfs defaults 0 0
/dev/mapper/rhel-home /home xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
192.168.57.140:/nfs /var/www/html nfs defaults,_netdev 0 0
[root@localhost ~]# mount -a测试nfs
在docker主机共享目录上创建文件
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]#
[root@localhost html]# touch 123
[root@localhost html]# ls
123nfs主机查看
[root@nfs ~]# ls /nfs/
123根据新镜像启动一个容器
[root@localhost src]# docker run --name httpd -dit -p 80:80 -v /var/www/html:/usr/local/apache/htdocs httpd:v1.0
c3527c62ca05f21af4ed289263feaef7e3922cb7abfc5e8b11cf57ddc779d2de
[root@localhost src]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3527c62ca05 httpd:v1.0 "/scripts/start.sh" 24 seconds ago Up 22 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp httpd
[root@localhost src]# 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:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:80 [::]:*
LISTEN 0 128 [::]:22 [::]:*
[root@localhost src]# docker exec -it httpd /bin/bash
[root@3037202498fe /]# cd /usr/local/apache/htdocs/
[root@3037202498fe htdocs]# ls上传网页文件
[root@localhost html]# ls
'(15条消息) 部署个网站_早川语的博客-CSDN博客.html'
[root@c3527c62ca05 htdocs]# ls /usr/local/apache/htdocs/
'(15条消息) 部署个网站_早川语的博客-CSDN博客.html'
docker部署apache服务(使用存储卷)相关推荐
- docker部署微服务项目
上次有人说部署单个springboot项目和ssm写的非常的简单可以写一篇docker部署微服务的结构的文章的吗 安排 什么是微服务? 微服务架构是一种将单个应用程序作为一套小型服务开发的方法,每种应 ...
- Docker 部署 FreeIPA 服务
Docker 部署 FreeIPA 服务 一.FreeIPA Docker 服务部署 1.安装 FreeIPA 服务器 2.部署过程 3.域名解析 二.FreeIPA 服务器脚本批量用户操作 1.进入 ...
- Docker 部署微服务项目
目录 一.前言 二.环境准备 1.安装 Docker 2.Docker 安装 MySQL 3.Docker 安装 Redis 4.Docker 安装 Nacos 5.Docker 安装 Nginx 三 ...
- docker部署mysql并挂载数据卷
docker部署mysql并挂载数据卷 备份mysql源文件 windows下备份数据库 # 方法一:进入到mysql安装路径下的bin文件,执行备份命令 # pg_dump -h localhost ...
- pg安装部署linux_简简单单基于docker部署微服务网关
❝ 本文整理于今年3月,收录在个人开源仓库JavaScriptCollection中,其中很多概念不乏借鉴.摘抄自官网,便于复习相关概念,有兴趣的可以直接去仓库Clone文档学习.参考! ❞ 基本概念 ...
- 微服务开发及部署_简简单单基于docker部署微服务网关
❝ 本文整理于今年3月,收录在个人开源仓库JavaScriptCollection中,其中很多概念不乏借鉴.摘抄自官网,便于复习相关概念,有兴趣的可以直接去仓库Clone文档学习.参考! ❞ 基本概念 ...
- Docker部署微服务详解
2019独角兽企业重金招聘Python工程师标准>>> 2013年发布至今,Docker一直广受瞩目,被认为可能会改变软件行业. 但是,许多人并不清楚Docker 到底是什么,要解决 ...
- docker部署java服务
目的 1.在centos上安装mysql.jdk,之后完成java服务部署 2.通过docker进行部署,熟悉docker命令 3.打包发布到docker hub 系统安装 安装centos7系统,首 ...
- 使用 Docker 部署 Node 服务
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言 Docker 是一个开源的容器引擎.开发者可以将自己的应用以及依赖打包为一个可移植的容器,然后 ...
最新文章
- vfp中,函数subs(计算机管理信息系统,7)返回的结果是,VFP选择题库(可发学生).xls...
- Linux程序内存跟踪,分享一款Linux进程和内存活动监视神器
- phpmyadmin修改mysql数据库_用phpMyAdmin修改mysql数据库密码
- DOM文档加载的步骤:
- python新手练习项目_适合Python 新手的5大练手项目,你练了么?
- Python基础入门的必备知识点
- 七月二十一日!! NVIDIA DLI 深度学习入门课程——计算机视觉
- Vue3学习笔记01:使用NPM方法安装Vue3
- (24)VHDL实现与或非(行为描述)
- 死锁 操作系统第二章知识点归纳总结
- 在html中使用css的主要方式有,html中使用css的方法有哪几种
- 【python简洁之道】-----2.导入模块顺序(规范/风格)
- 逻辑函数卡诺图法化简(一)
- 怎样修改MTK Scatter 文件
- krpano使用gyro2.js自定义陀螺仪
- 哨兵2A数据的下载与处理
- Linux双网卡双ip配置
- GL、GLU、GLUT
- Latex中自动引用参考文献的方法,一分钟搞定
- Siemens-PLM-TeamCenter虚拟机安装与配置
热门文章
- 微服务项目实战技术点汇总:“尚硅谷的谷粒在线教育” 一、教师管理模块
- DNS服务器是如何工作的?
- Windows10连不上网报错代码
- Image.FromStream与Image.FromFile使用区别
- 史上最全前端学习路线图(视频+工具+书籍+资源)
- [转载]我爱我妻----让男人看一遍哭一遍的文章
- 抖音素材哪里收集_抖音素材哪里收集 这个视频下载网站帮你处理好了
- 生命游戏 Life of Game
- jq js css3 实现瀑布流
- 使用OpenSSL生成自己服务器的证书