事先准备好nginx的镜像,这里采用1.17.1这个版本
在 /root 目录下创建一个nginx目录,并切换进去
然后再 /nginx 目录下再创建一个conf目录,用于放置配置文件
在 /conf 目录下创建配置文件“nginx.conf”并编辑
把下面这段配置代码写上去
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
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;
}
之后切回 /nginx 目录下,开始创建容器
docker run -id --name=c_nginx \
-p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/logs:/var/log/nginx \
-v $PWD/html:/usr/share/nginx/html \
nginx:1.17.1
-
参数说明:
-
-p 80:80:将容器的 80端口映射到宿主机的 80 端口。
-
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:将主机当前目录下的 /conf/nginx.conf 挂载到容器的 :/etc/nginx/nginx.conf。配置目录
-
-v $PWD/logs:/var/log/nginx:将主机当前目录下的 logs 目录挂载到容器的/var/log/nginx。日志目录
-
-v $PWD/html:/usr/share/nginx/html:将主机当前目录下的 html 目录挂载到容器的/usr/share/nginx/html。资源目录
-
创建完成后,查看 /nginx 目录,已经有对应的挂载目录
查看容器状态,也已经运行起来了
接着在宿主机上用“curl”命令测试一下
发现出来的正是nginx的页面代码
接着切换到 /html 目录下,写一个html文件,在里面简单地写一行代码
然后再用“curl”命令测试下
这次出来的就是刚才写的html文件里面的内容
使用外部机器的浏览器测试一下,也能正常运行