docker-machine的使用


一、docker 的下載

  toolbox 官方下載地址: https://www.docker.com/toolbox 

二、docker 的安裝

  windows 下 docker-machine 創建 docker 環境不成功的一般解決方法:

  一般情況下 win7 系統下不支持最新的 virtualbox ,所以在 win7 下 安裝 virtualbox 4.3.12 ,也可以選擇升級到win10 , 可以使用最新的 virtualbox 版本

三、創建 docker 機器 dev

  docker-machine.exe create --driver virtualbox --engine-insecure-registry 122.114.40.73:5001 dev 

  來創建一個默認鏡像倉庫為公司地址的 docker 環境 (dev)

四、docker 操作注意事項

windows 下用 cmd 或者 gitbash 進入命令行窗口進行docker或git 的操作。 docker 進入的是 docker shell 的命令窗口 進入 docker shell 方式: 在 cmd 或 git bash 命令行下 輸入 docker-machine ssh dev 進 入 docker shell 建議與 docker 環境交互的命令全在docker shell 中執行

 五、Docker 使用

1. 打開 git bash
2. 查看 docker 機器的狀態: 可查看機器的 ip,可以創建多個機器 docker-machine.exe ls
3. 啟動並進入所選擇的 docker 機器 docker-machine.exe start dev docker-machine.exe ssh dev
4. 依據上面創建 docker 機器的命令已經拉取過鏡像了。 在機器里面創建鏡像

A. 遠程拉取 docker pull 122.114.40.73:5001/django:1.8.7

B. 本地上傳鏡像(需要在設置共享目錄之后)

1) win + R \\192.168.0.130 點擊確定后選擇要使用 的鏡像進行復制, 復制到 docker 的共享目錄下 Work

2) 進入容器 docker-machine.exe ssh dev 進入容器中的共享目錄,ls, 找到你粘貼的鏡像, cat django1_2_3.tar.gz |docker load

C. 查看該機器所有的鏡像 docker images [options "o">] [name] docker search 鏡像名字
5. 設置共享目錄

A. 建立文件夾, 作為共享目錄的文件夾 sudo mkdir -p /mnt/code

B. 設置 VirtualBox 的共享文件夾 打開桌面上打開 VirtualBox,選擇對應的機器,點擊設置-> 選擇共享文件夾,設置共享文件夾的路徑以及名稱, 選擇固 定分配,確定保存

C. 設置自動掛載 進入對應的機器(ssh), 打開以下文件 sudo vi /var/lib/boot2docker/profile 最后一行增加: (work 為 B 中共享文件夾的名稱) sudo mkdir -p /mnt/code && sudo mount -t vboxsf Work /mnt/code

D. 退出重啟 docker-machine.exe restart dev
E. 進入鏡像查看共享目錄 docker run -it -v /mnt/code/:/code 122.114.40.73:5001/django:1.8.7 /bin/bash cd /code
6. 創建對應項目的容器, 並啟用別名(django 鏡像為例子) :

A. docker create --name 容器名 -it --net=host -v 共享目 錄: 掛載路徑 122.114.40.73:5001/django:1.8.7 項目啟 動命令

例: docker create --name media -it --net=host -v /mnt/code/:/code 122.114.40.73:5001/django:1.8.7 python /code/GitProject/tbkt_media/manage.py runserver 0.0.0.0:808 通過上面啟動的容器, 只能通過 docker 機器的 ip 對應上面 的端口進行訪問。 可以寫個 sh 腳本進行映射,映射到本地的指 定端口 例: docker-machine ssh dev -L :808:localhost:8009

B. 直接端口映射創建容器 docker run -d -v /Users/yy_stu_web_dj/tbkt:/code -p 8000:8099 --entrypoint=python hub.tbkt.cn:5001/django:1.8.7 /code/manage.py runserver 0.0.0.0:8000 查找對應的進程(容器) ,並設置名字 docker ps -a docker rename 進程 id 容器名字 7. 啟動容器(項目) docker start 容器名字 docker restart 容器名字 重啟容器
8. 根據名字查看項目運行的日志 docker logs -f --tail=50 容器名稱
9. 通過容器名進入容器 docker exec -it 容器名字 bash 或 docker exec -it 容器名字 /bin/sh
10.刪除容器 查看機器里面創建的所有容器 docker ps -a
docker rm -f 容器名 docker rm -f 容器進程號

 

 

1.安裝Docker Toolbox、
2.安裝完成后,桌面上會多出3各圖標,Oracle VM VirtualBox,Kitematic (Alpha),Docker Quickstart Terminal
3.運行Docker Quickstart Terminal,首次運行時會進行Docker環境的初始化,會在Oracle VM VirtualBox中自動創建名字為【default】的linux虛擬機,
也可以自己指定創建虛擬機
創建 docker 機器
dev docker-machine.exe create --driver virtualbox --engine-insecure-registry 122.114.40.73:5001 dev
來創建一個默認鏡像倉庫為公司地址的docker 環境(dev)
問題:
再此過程中會用到boot2docker.iso鏡像文件。默認情況下,啟動程序會從GitHub上下載此文件的最新版,但由於文件相對較大且速度不給力,多數情況下會下載失敗,造成Docker環境無法啟動,
解決;
DockerToolbox安裝文件自帶了boot2docker.iso鏡像文件,位於安裝目錄下,將此文件拷至C:\Users\kinda\.docker\machine\cache目錄下,然后在網絡斷開的情況下重新啟動,便可初始化成功。
使用xshell進行登錄該虛擬機,默認ip:192.168.99.100,賬戶:docker,密碼:tcuser
4.在windows中創建共享目錄,然后通過Oracle VM VirtualBox設置當前虛擬機的共享文件夾為剛創建的文件夾,共享到虛擬機的位置自己設定
5.將需要運行的代碼放到共享文件夾中
6.拉取公司鏡像,原因是公司鏡像和線上環境相同,在公司鏡像進行代碼測試,避免因為環境不同造成的上線問題
docker pull harbor.m.tbkt.cn/base/django1.11.11:v1.6
7.創建公司鏡像的容器,並直接運行
1.使用鏡像名啟動,注意需要加在鏡像名后面加‘:’和tag標簽
docker run -d -it -v /tbkt/web_api_dj:/code -p 8009:8009 --entrypoint=python --name=web_api djangov1.11.1:v1.6 /code/tbkt/manage.py runserver 0.0.0.0:8009
2.使用鏡像id創建容器
# -d后台運行 -it以交互模式運行 -v將當前宿主機器的哪個文件夾映射到容器的哪個文件夾 -p端口映射 --entrypoint指定運行環境 + 需要運行的鏡像 + 容器運行需要執行的命令
docker run -d -it -v /docker/wap_stu_dj:/code -p 8009:8009 --entrypoint=python3 b809cddcabe7 /code/tbkt/manage.py runserver 0.0.0.0:8009

# docker logs 查看實時日志 -- tail 查看最后多少條日志
docker logs -f --tail=10 wap_stu

docker-machine start xxx(機器名) 啟動指定機器
docker-machine stop or restart 停止和重啟
docker-machine ssh xxx(機器名) 進入當前虛擬機
docker-machine.exe ls 查看都有哪些虛擬機
docker-machine.exe create --driver virtualbox --engine-insecure-registry 122.114.40.73:5001 dev

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM