docker部署前端项目
docker pull nginx
查看nginx目录
nginx -t
编写nginx config配置文件
server {
listen 8001;
server_name localhost; # 修改为docker服务宿主机的ip
location / {
root /home/converse/dist/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 zouzou
RUN rm /etc/nginx/conf.d/default.conf
ADD default.conf /etc/nginx/conf.d/
COPY dist/ /usr/share/nginx/html/
Dockerfile内容解释
FROM nginx:该镜像是基于nginx:latest镜像构建的
MAINTAINER zouzou:添加说明
RUN rm /etc/nginx/conf.d/default.conf:删除目录下的default.conf文件
ADD default.conf /etc/nginx/conf.d/:将default.conf复制到/etc/nginx/conf.d/下,用本地的default.conf配置来替换nginx镜像里的默认配置
COPY dist/ /usr/share/nginx/html/:将项目根目录下dist文件夹(构建之后才会生成)下的所有文件复制到镜像/usr/share/nginx/html/目录下
以上三个文件保持在同一目录
构建docker镜像
docker build -t xxxx .
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/dd4687e145d3b7b630da427289e7f743.png#pic_center)
查看刚刚构建的镜像
docker images | grep xxxx .
启动docker容器
docker run -d -p 9090:80 --name boriska xxxx
解释
docker run:基于镜像启动一个容器
-d:后台方式启动
-p 9090:80: 端口映射,将宿主机的9090端口映射到容器的80端口
--name:容器名,我起的叫boriska
xxxx:要启动的镜像名称
docker常用命令
重启docker
docker restart $(docker ps -aq)
查看doker镜像id
docker images
查看容器id
sudo docker ps -a
删除docker容器
docker rm -f id
查看 Docker 容器历史运行日志
docker logs {容器名}