记录一下用docker部署部署第三方web服务器
第一步:拉取debian9基础镜像
docker pull shjbdh8qw3eb/debian9
第二步:进入debian9基础镜像
docker exec -it fa /bin/bash
第三步:配置服务器环境
更新apt源
sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list
apt-get update
apt-get install vim
安装依赖
apt-get install git mysql-server apache2 php php-xml php-zip php-curl php-mysql php-mbstring php-gd
下载FlightAirMap源码到/var/www路径下(使用代理加快下载速度)
cd /var/www
git clone --recursive https://ghproxy.com/https://github.com/Ysurac/FlightAirMap
修改apache2 配置文件
vim /etc/apache2/site-available/000-default.conf
添加
DocumentRoot “/var/www/FlightAirMap”
<Directory /var/www/FlightAirMap>
Options +Indexes +FollowSymLinks -MultiViews
AllowOverride All
Order allow,deny
Allow from all
开启rewrite
a2enmod rewrite
重启apache
service apache2 restart
开启mysql 服务
service mysql start
修改目录权限
cd /var/www/FlightAirMap
chmod 666 require/settings.php
chmod 777 install/tmp
chmod 777 data
数据库安全配置-密码配置、登陆配置、表操作等
mysql_secure_installation
创建数据库和用户
mysql -u root -p
CREATE DATABASE flightairmap
;
GRANT ALL ON flightairmap
.* TO ‘youruser’@‘localhost’ IDENTIFIED BY ‘yourpass’;
FLUSH PRIVILEGES;
在浏览器中进行安装
http://127.0.0.1:8090/install/
#退出镜像
exit
第四步:在宿主机上将刚才做好的一系列操作封装为新的镜像
docker commit my_debian_container my_custom_debian_image
这将将容器 my_debian_container 保存为新的镜像 my_custom_debian_image
my_custom_debian_image镜像有了环境,但是服务并不会自动打开,下面配置自动打开服务的镜像
第五步:编写Dockerfile
FROM my_custom_debian_image
# 安装和配置应用程序等操作...
# 将 run.sh 复制到容器内
# COPY run.sh /run.sh
# 添加执行权限
RUN chmod +x /run.sh
# 设置容器默认启动命令为开启 Apache2 和 MySQL 服务,并保持容器持续运行
CMD ["sh", "-c", "service apache2 start && service mysql start && tail -f /dev/null"]
第六步:构建镜像
docker build -t my_custom_web_image .
第七步:测试镜像(环境+自动开启服务)
docker run -d
–name=fam
–privileged
-p 8090:80
-p 3307:3306
-p 9999:9999
–env TZ=Aisia/Shanghai
–env WEBUSER=flightairmap
my_custom_web_image
docker exec -it fam /bin/bash’
service apache2 status
service mysql status
docker run -d
–name=fam
–privileged
-p 8090:80
-p 3307:3306
-p 9999:9999
-p 9000:9000
–env TZ=Aisia/Shanghai
–env WEBUSER=flightairmap
flightairmap_t