雲計算核心技術Docker教程:Docker Machine 使用 - TechWeb

2020-12-13 TechWeb

Docker Machine 是一個工具,它允許你在虛擬宿主機上安裝Docker,並使用docker-machine命令管理這個宿主機,可以使用Docker Machine在本地的MAC或者windows box、公司網絡,數據中心或者AWS這樣的雲提供商上創建docker。

使用docker-machine命令,可以啟動、審查、停止、重啟託管的docker 也可以升級Docker客戶端和守護程序並配置docker客戶端和宿主機通信。

Docker Machine 也可以集中管理所以得docker主機。

Docker Machine 管理的虛擬主機可以是機上的,也可以是雲供應商,如阿里雲,騰訊雲,AWS,或 DigitalOcean。

安裝 Docker Machine 之前你需要先安裝 Docker。

Linux 安裝命令:

$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&

curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&

sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&

chmod +x /usr/local/bin/docker-machine

本章通過 virtualbox 來介紹 docker-machine 的使用方法。其他雲服務商操作與此基本一致。具體可以參考每家服務商的指導文檔。

列出可用的機器:

$ docker-machine ls

可以看到目前只有這裡默認的 default 虛擬機。

創建一臺名為 test 的機器:

$ docker-machine create --driver virtualbox test

參數解釋:

--driver:指定用來創建機器的驅動類型,這裡是 virtualbox。

查看遠程機器的 ip

$ docker-machine ip test

停止機器

$ docker-machine stop test

啟動機器

$ docker-machine start test

進入機器

$ docker-machine ssh test

查看當前激活狀態的 Docker 主機

$ docker-machine active

總結,Docker Machine 最主要有兩個作用:

使用 Docker Machine 方便在不同的環境中使用 Docker ,比如:Win/Mac。

使用 Docker Machine 方便在雲環境下批量部署 Docker環境,比如:私有雲,公有雲批量安裝Docker環境。

相關閱讀:

雲計算核心技術Docker教程: Compose使用

相關焦點

  • 雲計算核心技術Docker教程:Docker鏡像使用
    當運行容器時,使用的鏡像如果在本地中不存在,docker 就會自動從 docker 鏡像倉庫中下載,默認是從 Docker Hub 公共鏡像源下載。我們可以使用 docker images 來列出本地主機上的鏡像。
  • 雲計算核心技術Docker教程:Compose使用
    2.使用 docker-compose.yml 定義構成應用程式的服務,這樣它們可以在隔離環境中一起運行。3.最後,執行 docker-compose up 命令來啟動並運行整個應用程式。/usr/bin/docker-compose測試是否安裝成功:$ docker-compose versioncker-compose version 1.24.1, build 4667896b使用示例:
  • 雲計算核心技術Docker教程:Docker容器使用
    例如我們要查看 docker stats 指令的具體使用方法:命令如下:$ docker stats --help如果我們本地沒有 ubuntu 鏡像,我們可以使用 docker pull 命令來載入 ubuntu 鏡像:
  • 雲計算核心技術Docker教程: Docker 安裝 Redis
    Redis 是一個開源的使用 ANSI C 語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value 的 NoSQL 資料庫,並提供多種語言的 API。本文介紹通過docker安裝redis。
  • 雲計算核心技術Docker教程:Docker Compose編寫CLI環境變量
    如果使用docker-machine,則eval "$(docker-machine env my-docker-vm)"命令應將它們設置為正確的值。(在此示例中,my-docker-vm是您創建的計算機的名稱。)COMPOSE_PROJECT_NAME設置項目名稱。啟動時,此值與服務名稱一起添加到容器中。
  • 雲計算核心技術Docker教程:info/version命令詳解
    來源:TechWeb.com.cn在docker客戶端命令行中我們可以使用info命令 顯示 Docker 系統信息,包括鏡像和容器數,通過version命令顯示 Docker 版本信息。示例docker info : 顯示 Docker 系統信息,包括鏡像和容器數語法docker info [OPTIONS]OPTIONS說明:-f :指定返回值的模板文件
  • 雲計算核心技術Docker教程:rm/rmi命令詳解
    在docker客戶端命令行中我們可以使用rm刪除一個或多個容器,使用rmi刪除本地一個或多少鏡像。示例:docker rm :刪除一個或多個容器。例如,強制刪除容器 db01、db02,命令如下:$ docker rm -f db01 db02移除容器 nginx01 對容器 db01 的連接,連接名 db:$ docker rm -l db刪除容器 nginx01, 並刪除容器掛載的數據卷:$ docker rm -v nginx01刪除所有已經停止的容器
  • 雲計算核心技術Docker教程:pull/push命令詳解
    來源:TechWeb.com.cn在docker客戶端命令行中我們可以使用pull從鏡像倉庫中拉取或者更新指定鏡像,使用push將本地的鏡像上傳到鏡像倉庫。示例:docker pull : 從鏡像倉庫中拉取或者更新指定鏡像語法:docker pull [OPTIONS] NAME[:TAG|@DIGEST]OPTIONS說明:
  • 雲計算核心技術Docker教程:run 命令詳解
    來源:TechWeb.com.cn在docker客戶端命令行中,我們可以直接輸入 docker 命令來查看到 Docker 客戶端的所有命令選項。可以通過命令 docker command help 更深入的了解指定的 Docker 命令使用方法。
  • 雲計算核心技術Docker教程:Docker Compose run命令詳解
    docker-compose run web bash您使用的命令run從具有由服務定義的配置的新容器中啟動,包括卷,連結和其他詳細信息。但是,有兩個重要的區別。首先,通過的命令將run覆蓋服務配置中定義的命令。
  • 雲計算核心技術Docker教程:docker Stack介紹
    docker stack和docker-compose使用方式相同,但是為什麼引入docker stack技術呢。docker stack 支持與docker-compose 相似能力, 但是在Docker引擎內Go語言環境中運行的, 在使用docker stack命令之前你還必須創建一個swarm機器。
  • Docker系列教程01-使用Docker鏡像
    前言學習Docker,我們需要掌握它的三大核心概念:鏡像、容器和倉庫。今天先帶大家學習Docker鏡像相關的基礎知識。web_repo:latest# docker images web_repoREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEweb_repo
  • 雲計算核心技術Docker教程:cp/diff命令詳解
    來源:TechWeb.com.cn在docker客戶端命令行中我們可以使用cp命令在容器與主機之間拷貝數據,使用diff命令檢查容器裡文件結構的更改。示例docker cp :用於容器與主機之間的數據拷貝。
  • 雲計算核心技術Docker教程:Docker 守護進程dockerd節點發現
    dockerd --cluster-advertise選項指定 此特定守護程序實例在向集群發布自身時應使用的host:port或interface:port組合。遠程主機通過該值訪問守護程序。如果指定接口,請確保它包含實際Docker主機的IP位址。
  • 雲計算核心技術Docker教程:Docker Compose yml常用配置指令簡介
    通過 Compose,您可以使用 YML 文件來配置應用程式需要的所有服務。然後,使用一個命令,就可以從 YML 文件配置中創建並啟動所有服務。YAML 的語法和其他高級語言類似,並且可以簡單表達清單、散列表,標量等數據形態。它使用空白符號縮進和大量依賴外觀的特色,特別適合用來表達或編輯數據結構、各種配置文件、傾印調試內容、文件大綱。
  • 雲計算核心技術Docker教程:使用registry搭建私有鏡像倉庫
    來源:TechWeb.com.cn在之前的教程中我們使用docker拉取的鏡像都是docker hub上的使用的是公共倉庫,當我們在企業項目中開發時不可能把鏡像放到公共倉庫進行管理,所以為了更好的管理鏡像,我們需要搭建私有鏡像倉庫,今天我們介紹使用Docker官方提供的鏡像registry
  • 雲計算核心技術Docker教程:Docker Compose的pull和push命令詳解
    Docker-Compose pull命令可以拉取docker-compose.yml或者docker-stack.yml文件中定義的服務關聯的鏡像,Docker-Compose push命令可以將服務鏡像推送到registry/repository中。
  • 雲計算核心技術Docker教程:dockerignore文件介紹
    在docker CLI將上下文發送到docker守護程序之前,它會在上下文的根目錄中查找名為.dockerignore的文件。如果此文件存在,則CLI會修改上下文以排除與其中的模式匹配的文件和目錄。這有助於避免不必要地將大型文件或敏感文件和目錄發送到守護程序,並避免使用ADD或將它們添加到映像中COPY。CLI將.dockerignore文件解釋為以換行符分隔的模式列表,類似於Unix Shell的文件組。為了匹配,上下文的根被認為是工作目錄和根目錄。
  • 雲計算核心技術Docker教程:.dockerignore文件介紹
    在docker CLI將上下文發送到docker守護程序之前,它會在上下文的根目錄中查找名為.dockerignore的文件。如果此文件存在,則CLI會修改上下文以排除與其中的模式匹配的文件和目錄。
  • 雲計算核心技術Docker教程:Dockerfile指令詳解
    具體是否使用,可以根據是否需要自動解壓來決定。CMD類似於 RUN 指令,用於運行程序,但二者運行的時間點不同:CMD 在docker run 時運行。RUN 是在 docker build。但是, 如果運行 docker run 時使用了 entrypoint 選項,此選項的參數可當作要運行的程序覆蓋 ENTRYPOINT 指令指定的程序。優點:在執行 docker run 的時候可以指定 ENTRYPOINT 運行所需的參數。