# 在Docker下载Nginx镜像
docker pull nginx:latest
1
# 创建挂载目录
先在主机创建工作文件夹,为了挂载配置和静态文件的访问使用
mkdir -p /home/nginx/{conf,conf.d,html,logs}
1
# 编写nginx.conf配置文件,并放在文件夹中
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
也可以启动nginx容器来复制
#启动一个容器
docker run -d --name nginx nginx
# 查看 容器 获取容器ID 或直接使用名字
docker container ls
# 拷贝容器内 Nginx 默认配置文件到本地当前(nginx)目录下的 conf 目录($PWD 当前全路径)
docker cp nginx:/etc/nginx/nginx.conf $PWD/conf
docker cp nginx:/etc/nginx/conf.d $PWD/conf
# 停止容器
docker container stop nginx
#or
docker stop nginx
# 删除容器
docker container rm nginx
#or
docker rm nginx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 启动容器
docker run --restart=always --privileged=true -d -p 80:80 -p 443:443 --name nginx -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/logs:/var/log/nginx nginx
1
如果挂载ngxinx.conf文件用下面的命令启动,注意,要保证你挂载的目录下有nginx.conf文件,否则会报错
docker run --restart=always --privileged=true -d -p 80:80 -p 443:443 --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/html:/usr/share/nginx/html -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/logs:/var/log/nginx nginx
1
# 查看启动的容器
docker ps
1
访问80端口查看是否成功,如果能出来页面就成功了