CentOS 7安裝 Docker 部署NGINX

Docker 這個東西 在3年前都聽說過, 一直沒有當回事兒,事實上是無需求。最近花了點時間 學習了一下。 感覺還挺好用的。

此處做一個備份, 以證明自己曾經瞭解過他。

1.什麼是Docker ?

我是花了一上午的時間,瞭解了它,網上有很多相關的資料,看一下你就懂了。 在此就贅述了。幾個重要的概念

Docker的第一句,是“Build, Ship and Run”

Docker的第二句口號就是:“Build?once,Run?anywhere(搭建一次,到處能用)”。

Docker技術的三大核心概念,分別是:

  • 鏡像(Image)
  • 容器(Container)
  • 倉庫(Repository)

這個圖很重要

 

2.在CentOS上如何安裝Docker

安裝教程看這裏

3.安裝Docker以後如何安裝NGINX

1.使用docker 下載nginx 鏡像  docker pull nginx

2.啓動nginx

docker run --name nginx -p 80:80 -d nginx

這樣就簡單的把nginx啓動了,但是我們想要改變配置文件nginx.conf ,進入容器,命令:

docker exec -it nginx bash

nginx.conf配置文件在 /etc/nginx/  下面,但是你使用vim nginx.conf 或者vi nginx.conf

會發現vi或者vim命令沒有用,解決辦法:apt-get  update  完成之後 apt-get install vim

此時你就可以自己定製nginx.con文件了,改好配置文件之後重啓容器,步驟,先把容器停了

docker stop nginx  然後重啓 docker start nginx

這樣不是很方便,還有第二種方式,掛載配置文件,就是把裝有docker宿主機上面的nginx.conf配置文件映射到啓動的nginx容器裏面,這需要你首先準備好nginx.con配置文件,如果你應經準備好了,下一步是啓動nginx

命令:docker run --name nginx -p 80:80 -v /home/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/docker-nginx/log:/var/log/nginx -v /home/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d nginx

解釋下上面的命令:

--name  給你啓動的容器起個名字,以後可以使用這個名字啓動或者停止容器

-p 映射端口,將docker宿主機的80端口和容器的80端口進行綁定

-v 掛載文件用的,第一個-v 表示將你本地的nginx.conf覆蓋你要起啓動的容器的nginx.conf文件,第二個表示將日誌文件進行掛載,就是把nginx服務器的日誌寫到你docker宿主機的/home/docker-nginx/log/下面

第三個-v 表示的和第一個-v意思一樣的。

-d 表示啓動的是哪個鏡像

 

4.docker+nginx部署項目

1.docker search nginx先搜索一下nginx
2.docker pull nginx直接拉取nginx
3.創建守護式容器docker run -di --name=mynginx -p 80:80 nginx 這裏部署的話我就不使用-v掛載目錄了
4.登錄容器docker exec -it mynginx /bin/bash
5.把我們需要的資源使用docker cp 資源 mynginx:usr/share/nginx傳到docker中
6.進入docker的etc/nginx目錄的nginx.conf修改配置文件,把http中的include /etc/nginx/conf.d/*.conf;刪除,添加server標籤具體代碼

server {
        listen 80;
        server_name _; # _ 並不是重點 __ 也可以 ___也可以
        return 403; # 403 forbidden
    }

  server {
    listen    80;
    server_name www.yzh1989.com;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {
      root  /usr/share/nginx/yzh1989;
      index index.html;
    }
  }

注意因爲之前我們上傳的目錄是usr/share/nginx目錄,所以這裏也要寫,而且要加/覺得路徑,爲啥上傳到usr/share/nginx呢,因爲
nginx的默認頁面在那,當然我們也可以上傳到和配置文件相同的目錄etc/nginx,這樣root的內容直接寫yzh1989就行
7.編輯完配置後,我們直接在docker容器內輸入nginx -s reload重啓配置文件即可

參考:部署可以參考這篇文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章