首先說明一下踩過的坑:
win10分為專業(yè)版,企業(yè)版,家庭版,還有一個教育版 -_-!是不是很坑爹,各種版本尼瑪煩不煩。網(wǎng)上查了一下,這幾個版本的級別是企業(yè)版>教育版>專業(yè)版>家庭版。重點來了,家庭版的不能開啟Hyper-V,也就是只能按照低版本的windows(win7,win8)來安裝docker toolbox。當然如果你的家庭版能夠升級為專業(yè)版也是可行的,不過我一直沒能升級成功。
一、下面是安裝docker的步驟:
1.進入docker官網(wǎng)下載stable(穩(wěn)定版)https://store.docker.com/editions/community/docker-ce-desktop-windows
2.打開控制面板 - 程序和功能 - 啟用或關閉Windows功能,勾選Hyper-V,然后點擊確定即可,如圖:
3.重新啟動電腦
4.啟動Docker
?在桌面找到Docker for Windows快捷方式,雙擊啟動即可!啟動成功后托盤處會有一個小鯨魚的圖標。打開命令行輸入命令:docker version可以查看當前docker版本號,如圖:
?更換鏡像源地址
中國官方鏡像源地址為:https://registry.docker-cn.com
點擊托盤處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 //進入已啟動的容器內,新啟一個進程,執(zhí)行命令。
docker stop containerName // 停止一個容器
docker start -i containerName //重啟啟動一個運行過的容器
docker rm containerName //移除一個容器
了解了上面指令之后,我們接下來進行nginx,mysql的環(huán)境配置
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??
?????執(zhí)行到這里安裝完成,下面安裝vim
????apt-get install -y vim (apt-get安裝過程中可能會提示apt-get版本過低,此時只需apt-get update)
? ? 創(chuàng)建一個靜態(tài)頁面
? ? 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,會發(fā)現(xiàn)多了一個容器,就是我們剛才啟動的nginx
? ? 最后直接使用localhost(默認80端口)訪問即可,
????
? ? 也可以使用 docker inspect web 找到ipaddress,使用容器的ip地址訪問
瀏覽器訪問172.17.0.3即可
如果你的docker配置了默認的地址
????
? ? 你應該使用默認的docker地址訪問,輸入ipconfig
? ? 可以發(fā)現(xiàn)你的docker ip4地址實際為10.0.75.1
?? ? 我們用這個地址訪問瀏覽器
? ? 可以看到效果是一樣的!
? ? 到此nginx,mysql就算部署完成啦!
????
? ??
? ?
?