win10下使用docker部署nginx,mysql
首先說明一下踩過的坑:
win10分為專業版,企業版,家庭版,還有一個教育版 -_-!是不是很坑爹,各種版本尼瑪煩不煩。網上查了一下,這幾個版本的級別是企業版>教育版>專業版>家庭版。重點來了,家庭版的不能開啟Hyper-V,也就是隻能按照低版本的windows(win7,win8)來安裝docker toolbox。當然如果你的家庭版能夠升級為專業版也是可行的,不過我一直沒能升級成功。
一、下面是安裝docker的步驟:
2.開啟控制面板 - 程式和功能 - 啟用或關閉Windows功能,勾選Hyper-V,然後點選確定即可,如圖:
3.重新啟動電腦
4.啟動Docker
在桌面找到Docker for Windows快捷方式,雙擊啟動即可!啟動成功後托盤處會有一個小鯨魚的圖示。開啟命令列輸入命令:docker version可以檢視當前docker版本號,如圖:
更換映象源地址
點選托盤處docker圖示右鍵選擇-Settings,然後修改如下:
點選Apply後會重啟Docker。
載入測試映象測試
輸入命名“docker run hello-world”可以載入測試映象來測試。如圖:
這樣即表示安裝成功了!
二、docker常用指令:
docker ps //檢視當前執行中的容器
docker ps -a //檢視所有執行過的容器
docker inspect containerId(容器ID或容器名)//檢視對應容器的具體配置資訊
docker port containerId //檢視對應容器埠對映
docker run --name containerName -it -p 80:80 -d // --name是為容器取一個別名,-p 80:80是埠對映,將宿主機的80埠對映到容器的80埠上,-d是指後臺執行容器,即容器啟動後不會停止,-it是-i 和-t的合併,以互動模式執行容器。
docker images //檢視所有映象
docker exec -it containerName /bin/bash //進入已啟動的容器內,新啟一個程序,執行命令。
docker stop containerName // 停止一個容器
docker start -i containerName //重啟啟動一個執行過的容器
docker rm containerName //移除一個容器
瞭解了上面指令之後,我們接下來進行nginx,mysql的環境配置
1.啟動mysql例項:
docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
2.檢視是否正常啟動
docker ps
能看到some-mysql的例項說明啟動成功
3.nginx配置
docker pull nginx
docker run --name web -it -p 80:80 -d nginx
進入到容器裡
docker exec -it web /bin/bash
安裝nginx
apt-get install -y nginx
執行到這裡安裝完成,下面安裝vim
apt-get install -y vim (apt-get安裝過程中可能會提示apt-get版本過低,此時只需apt-get update)
建立一個靜態頁面
mkdir -p /var/www/html
cd /var/www/html
vim index.html
:wq 儲存退出編輯
whereis nginx 檢視nginx
ls /etc/nginx 目錄下可以看到有個conf.d的資料夾,conf.d目錄下有個default的檔案
vim /etc/nginx/conf.d/default
將server root的路徑換成我們剛才配置的路徑
:wq
cd /
nginx (啟動nginx)
這時我們檢視一下
docker ps,會發現多了一個容器,就是我們剛才啟動的nginx
最後直接使用localhost(預設80埠)訪問即可,
也可以使用 docker inspect web 找到ipaddress,使用容器的ip地址訪問
瀏覽器訪問172.17.0.3即可
如果你的docker配置了預設的地址
你應該使用預設的docker地址訪問,輸入ipconfig
可以發現你的docker ip4地址實際為10.0.75.1
我們用這個地址訪問瀏覽器
可以看到效果是一樣的!
到此nginx,mysql就算部署完成啦!