ubuntu 18.04 docker 學習經歷(二)Docker nginx

20181230 假期閒來無事,整理一下 docker nginx 學習經歷

1 、下載安裝

官網

https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1php

安裝 docker-ce
sudo apt-get install docker-ce

二、Docker 理解

1)、每個 Docker container (容器)就是一個特定應用程序,啓動後就是一個特定進程
2)、一個容器就是一項服務

本次環境:
	宿主機 Ubuntu 18.04 已經安裝了 nginx
	a).第一次宿主機已經安裝過 LAMP
	b).第二次徹底卸載掉 apache2,可是在處理 docker php 的時候仍是會出現一些衝突和錯誤
	c).第三次乾脆從新安裝了一個 ubuntu 虛擬機,處理好 nginx 和 apache 衝突以後
	d).回到了第一次使用的宿主機繼續學習
	e).第三次的宿主機將用於重複操做和複習
	
本文假設:
	須要單獨部署一套 nginx 網站 (其實網站也是一個服務)
	學習過程當中,容器內配置 nginx 能夠直接從宿主機 cp 以後修改!
	實際部署的時候,宿主機不必定就安裝了 nginx 的

三、下載、安裝、運行 nginx 容器

1)、下載 nginx docker
docker search nginx
docker pull nginx

2)、準備容器內網站須要的數據和配置
	參考:
	https://blog.csdn.net/qq_26641781/article/details/80883192
	建立掛載目錄
	sudo mkdir -p /data/nginx/{conf,conf.d,html,logs}
	cd /data/nginx/
	ls
	conf  conf.d  html  logs
	
	在 html 下創建一個 index.html
		<h2>hello!</h2>
		<h1>WZH</h1>
		<h3>20181224</h3>

3)、建立 /data/nginx/ 的 nginx.conf
	由於個人 host 已經安裝了 nginx,能夠直接從 /etc/nginx cp 他的 nginx.conf 過來!
	sudo cp /etc/nginx/nginx.conf /data/nginx/conf/nginx.conf

4)、建立並運行 nginx 容器
docker run --name mynginx -d -p 81:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf  -v /data/nginx/logs:/var/log/nginx -d nginx
參數說明:
	-p 81:80 將容器的 80 端口映射到宿主機的 81 端口(80 已經被宿主機本身的nginx佔用)
	-v /data/nginx/html:/usr/share/nginx/html 將剛纔建立的掛載目錄(網站文件)掛載到容器的nginx網站文件目錄
	-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf 將剛纔建立的掛載目錄(nginx配置文件)掛載到容器的nginx配置文件
	-v /data/nginx/logs:/var/log/nginx 將剛纔建立的掛載目錄(log目錄)掛載到容器的nginx log目錄
	-d 容器做爲後臺運行

5)、確認 
	docker ps
	CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS              PORTS                    NAMES
	ec2a48d62544        nginx                  "nginx -g 'daemon of…"   6 seconds ago       Up 5 seconds        0.0.0.0:81->80/tcp       mynginx

四、驗證

1)、宿主機本身的 nginx(端口:80)
	http://192.168.1.192

2)容器 mynginx(端口:81)
	http://192.168.1.192:81/

** 這裏只驗證 html 腳本,不處理 php 腳本
** php 腳本網站放在 Docker php 學習裏面處理

五、進入容器修改腳本

docker exec -it mynginx bash

root@ec2a48d62544:/# ls
bin  boot  dev	etc  home  lib	lib64  media  mnt  opt	proc  root  run  sbin  srv  sys  tmp  usr  var

cd /usr/share/nginx/html
root@ec2a48d62544:/usr/share/nginx/html# ls
	index.html  index.php  info.php

apt update
apt install vim

修改一下 index.html 再來測試
http://192.168.1.192:81/

其實,直接修改 /data/nginx/html/ 的 index.html,結果是同樣的!
相關文章
相關標籤/搜索