docker安装nginx

1.拉取镜像

docker pull nginx

2.创建容器

docker run -d -it --name jsjnginx nginx

-d 在后台运行容器,并且打印容器id

-i 以交互模式运行容器,通常与 -t 同时使用

-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用

3.检查容器是否启动

[root@VM-0-10-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
94a649581137   nginx     "/docker-entrypoint.…"   59 seconds ago   Up 58 seconds   80/tcp    jsjnginx

4.拷贝nginx配置文件

a.进入容器

[root@VM-0-10-centos ~]# docker exec -it jsjnginx bash 
root@94a649581137:/# 

b.查看配置文件default.conf在哪里

root@94a649581137:/# find / -name nginx
/usr/share/doc/nginx
/usr/share/nginx
/usr/lib/nginx
/usr/sbin/nginx
find: '/proc/1/map_files': Operation not permitted
find: '/proc/31/map_files': Operation not permitted
find: '/proc/32/map_files': Operation not permitted
find: '/proc/38/map_files': Operation not permitted
/etc/init.d/nginx
/etc/default/nginx
/etc/logrotate.d/nginx
/etc/nginx
/var/log/nginx
/var/cache/nginx
root@94a649581137:/# 

b.查看结果

[root@VM-0-10-centos ~]# docker exec -it jsjnginx bash
root@94a649581137:/# find / -name nginx
/usr/share/doc/nginx
/usr/share/nginx
/usr/lib/nginx
/usr/sbin/nginx
find: '/proc/1/map_files': Operation not permitted
find: '/proc/31/map_files': Operation not permitted
find: '/proc/32/map_files': Operation not permitted
find: '/proc/38/map_files': Operation not permitted
/etc/init.d/nginx
/etc/default/nginx
/etc/logrotate.d/nginx
/etc/nginx
/var/log/nginx
/var/cache/nginx
root@94a649581137:/# cd /etc/nginx
root@94a649581137:/etc/nginx# ls   
conf.d	fastcgi_params	mime.types  modules  nginx.conf  scgi_params  uwsgi_params
root@94a649581137:/etc/nginx# cd conf.d
root@94a649581137:/etc/nginx/conf.d# ls 
default.conf
root@94a649581137:/etc/nginx/conf.d# 

5.用exit退出到宿主机,在宿主机上创建 /home/nginx/conf的文件目录。

 mkdir -p /home/nginx/conf

 6.把nginx中的配置文件拷贝出来

 docker cp jsjnginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
jsjnginx是容器名称
/etc/nginx/conf.d是配置文件default.conf在容器中的地址
/home/nginx/conf/conf.d是要映射的宿主机地址

7.重建一个Nginx

[root@VM-0-10-centos ~]# docker stop jsjnginx  #停止容器
jsjnginx
[root@VM-0-10-centos ~]# docker rm jsjnginx    #删除容器
jsjnginx
[root@VM-0-10-centos ~]# docker run -d -p 59420:80 --name allnginx -v /home/nginx/conf/conf.d:/etc/nginx/conf.d -v /home/nginx/data:/data nginx
e46638c7c93769d2aaed53cb6dbcc78f195df535b59b539c5e659b58d78e9dd2

-d :后台运行
-p 59420:80 : 将主机59420端口映射到容器80端口 容器内端口地址在nginx配置上那个地址 
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d :将刚才复制出来的配置文件映射到容器的配置文件处
-v /home/nginx/data:/nginxdata : 在拉个映射出来放前端页面文件 

8. 把前端的静态资源放好

 9.配置nginx文件

cd /home/nginx/conf/conf.d/   #进入本地主机配置文件存放的地址
vi default.conf   #编辑配置问津




listen       80;
    listen  [::]:80;
    server_name  localhost;

    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /data;
        index  index.html;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值