2020年4月24日 星期五

安裝與設定使用 nginx docker

利用nginx docker取代在系統內安裝的nginx
1.基本docker指令

docker images 察看本機已下載的image
docker container list 察看本機上已經建立的container
docker ps 列出正在運行的container
docker stop containerID 停止container運作
docker container rm containerId 刪除container
docker image rm imageName 刪除image

2.初始安裝nginx
docker run --name=mynginx nginx -p 3838:80
  以nginx這個image安裝 命名為mynginx的container
  並將docker內部的80 port 對應到外部(host)使用的3838 port
  若本機並不存在nginx image會自動由網路下載安裝

3.進入nginx container 察看目錄
docker exec -it mynginx bash
  進入container 內察看設定檔的目錄準備用來對應到本機目錄使用
  查到nginx目錄在container內的
  /etc/nginx
  www根目錄在
  /usr/share/nginx/html

4.將nginx 設定檔與html目錄對應到本機上
  在本機上建立目錄用來對應
  ~/docker_share/nginx/html 對應html目錄
  ~/docker_share/nginx/conf 對應nginx設定檔
  設定nginx.conf單一檔案的對應需要使用:ro readyonly模式
  重新建立 container
docker run --name=mynginx -d -v ~/docker_share/nginx/html:/usr/share/nginx/html 
  -v ~/docker_share/nginx/conf:/etc/nginx/conf.d -v ~/docker_share/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
  -p 3388:80 nginx
  若原container已存在可停止刪除再安裝

5.重啟nginx
  重啟nginx 的指令為 nginx -s reload
  可透過exec指令執行container內部指令
docker exec -d mynginx nginx -s reload
  當然也可以透過
  docker exec -it mynginx bash 直接開shell進入container
  再執行
  nginx -s reload


沒有留言: