67 lines
1.5 KiB
Markdown
67 lines
1.5 KiB
Markdown
|
|
List available docker images:
|
||
|
|
|
||
|
|
docker search nginx
|
||
|
|
|
||
|
|
Download official image:
|
||
|
|
|
||
|
|
docker pull nginx
|
||
|
|
|
||
|
|
Create persistent directory:
|
||
|
|
|
||
|
|
mkdir -p /app/persistent_docker/nginx
|
||
|
|
cd /app/persistent_docker/nginx
|
||
|
|
mkdir www conf logs
|
||
|
|
|
||
|
|
Create `/app/persistent_docker/nginx/conf/nginx.conf`:
|
||
|
|
|
||
|
|
events {
|
||
|
|
|
||
|
|
}
|
||
|
|
error_log /wwwlogs/error.log info;
|
||
|
|
http {
|
||
|
|
|
||
|
|
server {
|
||
|
|
listen 80;
|
||
|
|
server_name localhost;
|
||
|
|
access_log /wwwlogs/access.log combined;
|
||
|
|
location / {
|
||
|
|
root /www/demo;
|
||
|
|
index index.html index.htm;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
Create then root directory for default site:
|
||
|
|
|
||
|
|
mkdir /app/persistent_docker/nginx/www/demo
|
||
|
|
echo "Hello world" > /app/persistent_docker/nginx/www/demo/index.html
|
||
|
|
|
||
|
|
Start the container:
|
||
|
|
|
||
|
|
docker run -p 80:80 -p 443:443 --name nginx -v /etc/letsencrypt:/etc/letsencrypt -v /app/persistent_docker/nginx/www:/www -v /app/persistent_docker/nginx/conf:/etc/nginx -v /app/persistent_docker/nginx/logs:/wwwlogs -d nginx
|
||
|
|
|
||
|
|
|
||
|
|
In order to use docker-compose, create `docker-compose.yml`:
|
||
|
|
|
||
|
|
services:
|
||
|
|
nginx:
|
||
|
|
image: nginx
|
||
|
|
restart: always
|
||
|
|
volumes:
|
||
|
|
- /etc/letsencrypt:/etc/letsencrypt
|
||
|
|
- /app/persistent_docker/nginx/www:/www
|
||
|
|
- /app/persistent_docker/nginx/conf:/etc/nginx
|
||
|
|
- /app/persistent_docker/nginx/logs:/wwwlogs
|
||
|
|
ports:
|
||
|
|
- 80:80
|
||
|
|
- 443:443
|
||
|
|
|
||
|
|
|
||
|
|
Start the container and set the autostart:
|
||
|
|
|
||
|
|
docker-compose up -d
|
||
|
|
docker update --restart unless-stopped nginx
|
||
|
|
|
||
|
|
|
||
|
|
|