用docker部署nginx官方只给了docker版本的,没有compose的,只好自己转换一下了,记录一下,方便下次部署,这只是简单的部署,至于nginx配置的话,有空再补吧🫠

1、创建docker-nginx目录

新建 docker-compose.yml 文件

1
2
3
4
5
mkdir docker-nginx
mkdir nginx
mkdir log
mkdir html
vim docker-compose.yml

2、docker-compose.yml

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
version: '3.3' 
services:
 web:
 image: nginx:latest
 container_name: nginx
 volumes:
     - ./nginx:/etc/nginx
     - ./log:/var/log/nginx
     - ./html:/usr/share/nginx/html  //网站放置目录
 ports:
     - "8081:80"
 environment:
     - NGINX_HOST="192.168.116.10" //访问地址/域名
     - NGINX_PORT="80" //访问端口
     - TZ="Asia/Shanghai" //时区
 restart: always

3、手动cp配置文件

由于官方image没有默认映射外部文件,需要手动把配置文件cp出来

1
2
3
4
5
6
7
8
9
# 运行官方命令创建默认容器
docker run --name nginx -p 8080:80 -d nginx

#配置文件复制到nginx里,其他文件可用复制
#是个坑,路径必须是全路径
docker cp nginx:/etc/nginx /opt/docker-nginx

#删除默认容器
docker stop nginx && docker rm nginx

4、修改nginx配置文件

端口号、域名,ssl等和以前配置一样,不再赘述

5、运行&测试

1
2
3
4
5
6
docker-compose up -d

#查看日志
docker-compose logs -f     

#浏览器输入IP或域名查看是否可以访问

参考文档:

1、Docker Hub-nginx