在docker中离线安装nginx容器
1、下载镜像
docker save -o nginx.tar nginx:latest
2、上传到服务器指定目录
3、在docker中导入镜像
docker load -i 镜像名.tar
4、给镜像重命名
docker tag 镜像名id 命名的镜像名:版本
5、在home下面创建分别创建以下四个目录
mkdir -p /home/nginx/conf 挂载容器里面的配置,即nginx.conf
mkdir -p /home/nginx/conf.d 挂载容器里面的子配置,即nginx.conf里面include的配置文件
mkdir -p /home/nginx/logs 挂载容器里面的代理的日志文件
mkdir -p /home/nginx/html 挂载容器里面的界面的访问
6、启动nginx
docker run -d -p 80:80 --name nginx -v /home/nginx/logs:/var/log/nginx nginx
7、使用如下命令进入交互式终端,查看文件是否存在,然后退出
docker exec -it nginx /bin/bash
8、使用下面的命令,将容器中的两个文件拷贝到我们前面准备的指定挂载目录中
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/
docker cp nginx:/etc/nginx/conf.d/default.conf /home/nginx/conf.d/
9、停止和删除正在运行的nginx容器
docker stop nginx
docker rm -f nginx
10、编辑启动脚本使用挂载目录的方式去启动nginx容器
#!/bin/bash
docker run -d -p 80:80 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/logs:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html nginx:latest
参考:
Docker 部署前后端项目
1、将打包好的前端项目 dist文件放到在服务新建的文件夹里
2、dockerfile文件
FROM nginx
ADD default.conf /etc/nginx/conf.d/
COPY dist/ /usr/share/nginx/html/
3、default.conf文件
server {
listen 80;
server_name localhost; # 修改为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;
}
}
4、根目录执行下列命令,将前端程序打包为docker镜像
docker build -t 镜像名称 .
docker-compose编排项目
1、在docker-compose.yml文件根目录执行命令启动服务
docker-compose -f docker-compose.yml up -d --remove-orphans
2、查看docker ps