在windows系统如何使用docker将nginx容器化部署
1、首先要在windows系统上使用docker,则必须安装WLS2来支持linux模拟环境,然后安装Docker Desktop,具体安装教程参考:Windows |Docker 文档
2、安装好docker desktop后就可以在wls2终端通过docker命令拉取nginx最新版本:docker pull nginx:latest
3、在wls2系统创建nginx的docker目录:mkdir /home/root/workspace/nginx-compose,这个目录是存放我们nginx容器编排文件的,例如:docker-compose.yaml
4、在宿主机创建nginx要挂载的目录:config、log、html。可以直接在wls2终端创建:mkdir /mnt/f/nginx/config mkdir /mnt/f/nginx/log mkdir /mnt/f/nginx/html
5、创建docker-compose.yaml,我们可以在/mnt/f/nginx目录下创建,内容如下
services:
nginx:
image: my-nginx:v1.29.1
container_name: my-nginx
ports:
- target: 80
published: 8080
protocol: tcp
mode: host
volumes:
# 挂载主配置文件
#- type: bind
# source: /mnt/f/nginx/config
# target: /etc/nginx/nginx.conf
# read_only: true
# 挂载站点配置目录
- type: bind
source: /mnt/f/nginx/config/conf.d
target: /etc/nginx/conf.d
read_only: true
# 挂载网站文件
- type: bind
source: /mnt/f/nginx/html
target: /usr/share/nginx/html
# 挂载日志目录
- type: bind
source: /mnt/f/nginx/log
target: /var/log/nginx
environment:
- NGINX_HOST=localhost
- NGINX_PORT=80
- TZ=Asia/Shanghai
restart: unless-stopped
networks:
- nginx-network
deploy:
resources:
limits:
memory: 512M
reservations:
memory: 256M
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
networks:
nginx-network:
driver: bridge
6、在/mnt/f/nginx/config/conf.d目录下创建我们的站点配置文件default.conf
7、启动nginx容器:在wls2终端 cd /home/root/workspace/nginx-compose,使用命令:docker compose up ,这时我们可以看的构建容器和运行容器的过程,有错误也能及时发现
8、nginx容器创建好后,我们就可以在windows系统的docker desktop应用上管理nginx容器了,我们只需要把html文件放到我们挂载目录(F:/nginx/html)下就可以,修改配置文件也很容易,在(F:/nginx/config)目录下