- 前端静态文件中创建Dockerfile
a), 使用apache服务器打包Dockerfile
FROM httpd:alpine3.14
COPY ./dist/ /usr/local/apache2/htdocs/
FROM
– 镜像中运行网页的服务程序httpd:alpine3.14
是apahce服务器以及版本号COPY
– 把当前目录的网站复制到apache服务器的htdocs
中
b), 使用nginx打包并修改默认配置
- default.conf
server {
listen 9999;
server_name 110.42.156.172; # 修改为docker服务宿主机的ip
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
- Dockerfile
FROM nginx
MAINTAINER kksdocker
RUN rm /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/
COPY dist/ /usr/share/nginx/html/
- 拉取网页的服务程序
docker pull httpd:alpine3.14
- 打包成镜像
docker build -t 镜像名 .
.
- 打包错误一般是没有写.
- 运行镜像
docker run -d -p 主机端口:80 --name 容器名
- 查看容器信息
docker inspect 容器名
- 进入容器修改网页
docker exec -it 容器名 /bin/sh
- 进入容器后,网站默认放置在
htdocs
中 - 配置文件一般在conf中
- 授权
- 网页打开如果出现css等无法加载,可能是容器没有linux访问权限
- 授予读取修改权限
chmod 777 -R htdocs
- 本机前端无法访问本机docker-java服务
- docker内部网段是172,腾讯内网也是172,导致前端访问127.0.0.1或172局域网地址,都无法访问本机docker-java服务
- 解决方法:1,使用另一台云服务器远程访问;
- 2,前端不使用docker打包,直接放置nginx/apache中运行
- 3,修改docker默认网段后访问(未测试成功)
- 4,配置小皮面板或宝塔面板,前端放在面板中