docker-快速部署nginx并映射当前目录静态文件及配置文件

一个小公司也用上了docker,经常需要部署nginx服务,我通常都会把他们上传到一个目录,大概就是下面的样子

就是一个简单的nginx配置(因为经常需要配置代理不想进入容器和拷贝,就挂出来了),

和指定一个静态文件目录,(静态文件需要经常更新也不想进入容器和拷贝,就挂出来了)

文件更新后需要重启一下容器,不然可能出现更新内容不生效
docker run --restart=always --name nginx80 -p 80:80 -v $(pwd)/default.conf:/etc/nginx/conf.d/default.conf -v $(pwd)/dist/:/usr/share/nginx/html/ -d nginx

总的来说,这条命令创建并启动了一个名为“nginx80”的Docker容器,使用Nginx镜像,监听80端口,挂载了两个卷来存储配置和静态文件,并且设置了容器在退出后自动重启。

这条命令是用于在Docker中运行一个名为“nginx”的容器。下面是对这条命令的逐项解释:

  1. docker run: 这是Docker的一个命令,用于启动一个新的容器实例。
  2. --restart=always: 这个选项意味着容器会在退出后自动重启。这对于需要持续运行的服务(如web服务器)是非常有用的,因为它确保容器在出现问题或被手动停止后仍会自动恢复运行。
  3. --name nginx80: 这为容器指定了一个名称“nginx80”,这样你就可以通过这个名字来引用或管理这个容器,而不是使用默认的随机名称。
  4. -p 80:80: 这是端口映射设置。它将宿主机的80端口映射到容器的80端口。这意味着,如果你有一个web应用程序在容器内运行并监听80端口,你可以通过访问宿主机的80端口来访问它。
  5. -v $(pwd)/default.conf:/etc/nginx/conf.d/default.conf: 这是卷(volume)挂载设置。它将当前目录下的default.conf文件挂载到容器的/etc/nginx/conf.d/default.conf路径上。这意味着你可以修改这个default.conf文件来更改Nginx的配置,并且这些更改将在容器重启后保留。
  6. -v $(pwd)/dist/:/usr/share/nginx/html/: 这是另一个卷挂载设置。它将当前目录下的dist/目录挂载到容器的/usr/share/nginx/html/路径上。Nginx默认使用这个目录作为其静态文件服务的根目录,所以你可以将你的HTML、CSS、JavaScript等文件放在这个目录下,并直接通过Nginx来访问它们。
  7. -d nginx: 这告诉Docker使用名为“nginx”的镜像来创建并运行容器。

下面是默认的nginx配置文件default.conf

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

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

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    #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;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 第一步:安装DockerDocker Compose;第二步:创建一个目录,用于存放docker-compose.yml文件;第三步:在该目录中创建一个docker-compose.yml文件,并编写nginx容器的配置;第四步:在该目录下使用docker-compose up命令,启动nginx容器;第五步:使用docker ps查看容器的运行状态。 ### 回答2: 利用docker-compose搭建Nginx容器的步骤如下: 1. 首先,确保已经安装了Dockerdocker-compose。如果没有安装,可以根据自己的操作系统类型,在官方网站下载并按照指引进行安装。 2. 创建一个项目目录,并在此目录下创建一个docker-compose.yml文件。 3. 在docker-compose.yml中定义Nginx容器的配置信息。可以使用下面的示例作为起始点: ```yaml version: '3' services: nginx: image: nginx ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./www:/usr/share/nginx/html restart: always ``` 上述配置中,我们使用了官方的Nginx镜像,并映射了本地的nginx.conf文件和www目录到容器内对应的路径。通过端口映射,将主机的80端口映射到容器的80端口。 4. 在同级目录下创建nginx.conf文件,并在其中定义Nginx的配置信息。可以根据自己的需要进行配置。例如,可以添加一些代理规则或者设置默认访问页面。确保将此文件docker-compose.yml中的映射路径对应。 5. 在同级目录下创建www目录,并将要发布的静态文件或网站放入其中。 6. 打开命令行或终端,进入到项目目录。 7. 运行以下命令启动Nginx容器: ``` docker-compose up -d ``` 这将会启动容器,并在后台运行。 8. 完成后,可以通过浏览器访问http://localhost来查看Nginx是否已经成功运行。如果一切正常,将会显示Nginx的默认欢迎页面。 通过以上步骤,我们成功地利用docker-compose搭建了一个Nginx容器。在实际使用中,可以根据自己的需求进一步定制配置,并且可以在docker-compose.yml中添加其他服务容器,以构建更复杂的应用程序环境。 ### 回答3: 搭建Nginx容器可以使用Docker Compose来简化操作,以下是利用Docker Compose搭建Nginx容器的步骤: 1. 首先,在安装了DockerDocker Compose的机器上创建一个项目目录,用于存放相关的配置文件。 2. 在项目目录中创建一个`docker-compose.yml`文件,用于定义容器的配置。在`docker-compose.yml`文件中,可以指定Nginx容器的镜像、端口映射、环境变量等。 3. 编辑`docker-compose.yml`文件,添加以下内容: ``` version: '3' services: nginx: image: nginx ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./html:/usr/share/nginx/html restart: always ``` 上述配置定义了一个名为`nginx`的服务,使用了Nginx官方提供的镜像,将容器的80端口映射到主机的80端口上,同时将`nginx.conf`文件和`html`目录分别映射到容器内的`/etc/nginx/nginx.conf`和`/usr/share/nginx/html`路径。 4. 在项目目录中创建一个`nginx.conf`文件,用于配置Nginx的相关设置,例如监听端口、代理等。根据需要编辑该文件。 5. 在项目目录中创建一个`html`目录,用于存放Nginx静态文件和网页等内容。根据需要添加相应的文件。 6. 打开命令行或终端,切换到项目目录,执行以下命令启动容器: ``` docker-compose up -d ``` 该命令会根据`docker-compose.yml`文件中的配置创建和启动Nginx容器。`-d`参数表示以守护态(后台)运行。 7. 等待一段时间后,Nginx容器就会启动成功。可以通过浏览器访问`http://localhost`来验证Nginx是否正常工作。若成功显示Nginx的欢迎页面,则说明搭建成功。 通过以上步骤,利用Docker Compose搭建Nginx容器的过程就完成了。可以根据需要编辑`docker-compose.yml`文件和相关配置文件,来定制化Nginx容器的功能和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值