docker部署apache
一、docker 安装
二、部署apache
- 拉取apache镜像
docker search httpd
docker pull httpd
docker images httpd
- 构建容器
docker run 的过程中需要指定好挂载路径(我的路径是 /home/docker/httpd/www);
可以使用docker update --restart always命令在容器启动之后再设置自启。
docker run -p 80:80 --name apache -v /home/docker/httpd/www/:/usr/local/apache2/htdocs/ httpd
docker ps
查看服务ip地址
docker inspect edf97a512223
浏览器中打开指定ip:port
- 设置容器自启
docker update --restart=always edf97a512223
三、放置前端程序
将前端程序放置在挂载的目录中(本次为/home/docker/httpd/www)
本次测试使用的vue
首先build
npm run build
将dist 文件夹下文件拷贝至挂载目录中,如下
涉及到虚拟机的拷贝问题,可以首先安装vm-tools
本人之前的安装过程
注意用户权限问题。如果必要,需要chmod
四、测试
- 浏览器中打开localhost:80测试
- 本次部署在虚拟机中,在虚拟机的宿主机上进行测试,访问虚拟机ip:port进行测试
------------------20201223新增内容------------------
五、部署nginx
首先docker创建 network sdt 并新 run 一个httpd容器。
新建 mynginx.conf 文件作为本次配置
server {
listen 80;
server_name localhost;
charset utf-8;
keepalive_requests 20; # 单次请求上限
location / {
# root http://httpd:80;
proxy_pass http://httpd:80;
}
}
docker pull nginx
docker run -d -v /home/docker/nginx/mynginx.conf:/etc/nginx/conf.d/mynginx.conf -p 8080:80 --name nginx --network sdt --link httpd nginx
注意-v后的路径即可
注意
由于本次nginx的conf文件是重新写的,在新run容器的时候,会启动不起来。使用docker logs查看日志问题。(最容易出现的是文件中缺少分号的问题)
docker logs nginx