首先說明一下踩過的坑:
win10分為專業(yè)版,企業(yè)版,家庭版,還有一個(gè)教育版 -_-!是不是很坑爹,各種版本尼瑪煩不煩。網(wǎng)上查了一下,這幾個(gè)版本的級(jí)別是企業(yè)版>教育版>專業(yè)版>家庭版。重點(diǎn)來了,家庭版的不能開啟Hyper-V,也就是只能按照低版本的windows(win7,win8)來安裝docker toolbox。當(dāng)然如果你的家庭版能夠升級(jí)為專業(yè)版也是可行的,不過我一直沒能升級(jí)成功。
一、下面是安裝docker的步驟:
1.進(jìn)入docker官網(wǎng)下載stable(穩(wěn)定版)https://store.docker.com/editions/community/docker-ce-desktop-windows
2.打開控制面板 - 程序和功能 - 啟用或關(guān)閉Windows功能,勾選Hyper-V,然后點(diǎn)擊確定即可,如圖:
3.重新啟動(dòng)電腦
4.啟動(dòng)Docker
?在桌面找到Docker for Windows快捷方式,雙擊啟動(dòng)即可!啟動(dòng)成功后托盤處會(huì)有一個(gè)小鯨魚的圖標(biāo)。打開命令行輸入命令:docker version可以查看當(dāng)前docker版本號(hào),如圖:
?更換鏡像源地址
中國(guó)官方鏡像源地址為:https://registry.docker-cn.com
點(diǎn)擊托盤處docker圖標(biāo)右鍵選擇-Settings,然后修改如下:
點(diǎn)擊Apply后會(huì)重啟Docker。
載入測(cè)試鏡像測(cè)試
輸入命名“docker run hello-world”可以加載測(cè)試鏡像來測(cè)試。如圖:
這樣即表示安裝成功了!
二、docker常用指令:
docker ps //查看當(dāng)前運(yùn)行中的容器
docker ps -a //查看所有運(yùn)行過的容器
docker inspect containerId(容器ID或容器名)//查看對(duì)應(yīng)容器的具體配置信息
docker port containerId //查看對(duì)應(yīng)容器端口映射
docker run --name containerName -it -p 80:80 -d // --name是為容器取一個(gè)別名,-p 80:80是端口映射,將宿主機(jī)的80端口映射到容器的80端口上,-d是指后臺(tái)運(yùn)行容器,即容器啟動(dòng)后不會(huì)停止,-it是-i 和-t的合并,以交互模式運(yùn)行容器。
docker images //查看所有鏡像
docker exec -it containerName /bin/bash //進(jìn)入已啟動(dòng)的容器內(nèi),新啟一個(gè)進(jìn)程,執(zhí)行命令。
docker stop containerName // 停止一個(gè)容器
docker start -i containerName //重啟啟動(dòng)一個(gè)運(yùn)行過的容器
docker rm containerName //移除一個(gè)容器
了解了上面指令之后,我們接下來進(jìn)行nginx,mysql的環(huán)境配置
1.啟動(dòng)mysql實(shí)例:
docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
2.查看是否正常啟動(dòng)
? ?docker ps?
? ?能看到some-mysql的實(shí)例說明啟動(dòng)成功
3.nginx配置
? ??docker pull nginx
????docker run --name web?-it -p 80:80 -d nginx
? ? 進(jìn)入到容器里
? ? docker?exec -it web /bin/bash?
????安裝nginx
? ? apt-get install -y nginx??
?????執(zhí)行到這里安裝完成,下面安裝vim
????apt-get install -y vim (apt-get安裝過程中可能會(huì)提示apt-get版本過低,此時(shí)只需apt-get update)
? ? 創(chuàng)建一個(gè)靜態(tài)頁面
? ? mkdir -p /var/www/html
? ? cd /var/www/html
? ? vim index.html
????:wq 保存退出編輯
? ? whereis nginx? 查看nginx
? ? ls /etc/nginx 目錄下可以看到有個(gè)conf.d的文件夾,conf.d目錄下有個(gè)default的文件
? ? vim /etc/nginx/conf.d/default
????
? ? 將server root的路徑換成我們剛才配置的路徑
? ? :wq
? ? cd /
? ? nginx? ? ? (啟動(dòng)nginx)
? ? 這時(shí)我們查看一下?
? ? docker ps,會(huì)發(fā)現(xiàn)多了一個(gè)容器,就是我們剛才啟動(dòng)的nginx
? ? 最后直接使用localhost(默認(rèn)80端口)訪問即可,
????
? ? 也可以使用 docker inspect web 找到ipaddress,使用容器的ip地址訪問
瀏覽器訪問172.17.0.3即可
如果你的docker配置了默認(rèn)的地址
????
? ? 你應(yīng)該使用默認(rèn)的docker地址訪問,輸入ipconfig
? ? 可以發(fā)現(xiàn)你的docker ip4地址實(shí)際為10.0.75.1
?? ? 我們用這個(gè)地址訪問瀏覽器
? ? 可以看到效果是一樣的!
? ? 到此nginx,mysql就算部署完成啦!
????
? ??
? ?
?