docker 在windows上的使用


Docker ToolBox 安裝
1、首先,安裝Docker ToolBox,其中包含了Docker三劍客: docker , docker-machine 和 docker-compose .
安裝完成之后包含了以上命令,並且會安裝Oracle的Vm軟件VirtualBox,Docker容器的主機將會運行在其中.
創建Docker虛擬機主機
安裝完之后,有默認的鏡像文件 C:\Program Files\Docker Toolbox\boot2docker.iso,將其拷貝至自己用戶名下默認目錄 C:\Users\Benjamin\.docker\machine\cache\, docker-machine默認使用這個目錄來創建虛擬主機.有些情況下,boot2docker.iso顯示是一個壓縮包,也可以直接拷貝使用。
2、打開Docker Toolbox安裝終端 Docker Quickstart Terminal ,首次運行會自動創建虛擬主機, 如未自動創建成功可以執行以下命令來創建默認的虛擬主機:
docker-machine rm default docker-machine create -d virtualbox default
等待虛擬機創建完成(可以使用VirtualBox來查看虛擬機的狀態).
3、調整虛擬主機相關配置
Docker虛擬主機創建完畢之后,還需要配置一些參數才能正常使用.
以下幾項是需要登陸到虛擬機中進行調整的內容,登陸方式為:
docker-machine ssh default
如果不想使用 Docker Quickstart Terminal , 可以在登陸之后調整 docker 用戶的密碼 ,然后就可以使用一般的ssh客戶端,如xShell等來登陸虛擬主機.
sudo passwd docker
docker的運行參數配置使用 daemon.json 來進行配置
本地鏡像設置
修改 daemon.json (如果沒有則創建一個新的):
sudo vi /etc/docker/daemon.json
修改配置為:
{ "insecure-registries" : ["xxxx.com"] ,
}
也可以使用在線的阿里雲或者docker hub上的鏡像,需要配置mirror。
4、重啟 docker 使配置生效:
sudo /etc/init.d/docker restart
查看 docker info, Insecure Registries列表中應當包含 xxxxxx.com.
如果重啟失敗,可以在 /var/log/docker.log 中查看日志進行相應的調整.
配置了本地鏡像之后,即可使用本地鏡像拉取所需要的鏡像文件,如:
docker pull registry.xxxxxxxxx/python:3.6.2
 
TLS禁用
在Windows上使用Docker的其中一個目的是使其與PyCharm結合,形成Python代碼的解釋器,避免重復的Python解釋環境搭建的問題,同時保持Windows開發環境和部署環境所用的Python庫的一致性.
默認的docker-machine包含了TLS的認證,雖然能保一定的安全性,但是這導致PyCharm使用Docker的效率很低(目前尚未找到解決版本),因此,我們只能使用不使用TLS認證的docker.
登陸到虛擬主機中,調整 DOCKER_TLS 環境變量:
sudo vi /var/lib/boot2docker/profile
將 DOCKER_TLS 設置為 no :
DOCKER_TLS=no
此項在關機后會失效,開機的時候注意設置
修改完成后重啟 docker.
注意: 禁用了TLS 后 docker-machine 不再能獲取到對應的信息了.
這時候要繼續使用docker命令,需要調整環境變量,
環境變量調整后 docker 命令又可以繼續使用了.
虛擬主機共享目錄
默認的Docker虛擬主機自動創建了一個用戶目錄的共享文件夾,如果沒有的話需要自己創建.
打開 VirtualBox 的管理工具,編輯共享文件夾:
其中 /c/User/ 是默認添加的,后面可以自己添加盤符和文件路徑
重啟虛擬主機,然后就可以在虛擬主機上看到相關目錄了:
docker-machine restart default
 
命令詳解:
   attach    進入一個容器
    build     從Dockerfile編譯
    commit    提交容器
    cp       從容器內復制文件到指定的路徑上
    create    創建容器
    diff      可以列出容器內發生變化的文件和目錄
    events    從服務器拉取個人動態,可選擇時間區間
    exec      進入容器
    export    將指定的容器保存成 tar 歸檔文件, docker import 的逆操作。導出后導入(exported-imported))的容器會丟失所有的提交歷史,無法回滾
    history    查看指定鏡像的創建歷史
    images    查看鏡像列表
    import    從歸檔文件(支持遠程文件)創建一個鏡像, export 的逆操作,可為導入鏡像打上標簽。導出后導入(exported-imported))的容器會丟失所有的提交歷史,無法回滾
    info      顯示系統信息
    inspect    查看容器底層信息
    kill      結束一個正在運行的容器
    load      從 tar 鏡像歸檔中載入鏡像, docker save 的逆操作。保存后再加載(saved-loaded)的鏡像不會丟失提交歷史和層,可以回滾
    login     登錄Docker HUB
    logout    退出Docker HUB
    logs      打印出容器的標准輸出
    port      映射NAT的端口
    pause     暫停容器
    ps       列出容器
    pull      下載一個鏡像
    push      將鏡像推送至遠程倉庫,默認為 Docker Hub
    restart    重啟容器
    rm       刪除容器
    rmi      刪除鏡像
    run      運行一個新容器
    save      保存鏡像
    search    搜索鏡像
    start     啟動容器
    stop      停止容器
    tag      鏡像改名
    top      查看容器進程
    unpause    恢復暫停的容器
    version    查看版本
    wait      阻塞對指定容器的其它調用方法,直到容器停止后退出阻塞
 
       -i    #允許在容器進行交互
        -t    #分配偽tty終端
        -d    #在后台運行容器
        -P    #標示通知Docker所需的網絡端口映射從主機映射到我們的容器內
        -h    #指定容器的hostname
        -e    #設置容器的環境變量
        -a    #stdin 指定標准輸入輸出內容類型,可選 STDIN/STDOUT / STDERR 三項
        -w    #指定工作目錄
        -u    #指定用戶名id
        -m    #指定內存
   
        --env-file=[]              從指定文件讀入環境變量
        --restart=always        當容器推出時,自動重啟容器
        --restart=on-failure:5    當容器推出代碼為非0時,docker會嘗試自動重啟該容器,最多重啟5次
        --name                     指定容器名,容器名在整個docker環境中必須唯一
        --dns                      指定dns
        --cpuset=""                綁定容器到指定CPU運行
        --net="bridge"             指定容器運行的網絡模式
 


免責聲明!

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



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