您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何快速創建運行Docker服務的主機”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何快速創建運行Docker服務的主機”吧!
在 GitLab CI 中,我們發現有種 Executor 為 Docker Machine 類型。因此,我們開始了解 Docker Machine 相關的內容,學習它的功能及使用場景,思考它能否解決我們的問題。
該筆記將記錄:在 Docker 中,使用 Dcoker Machine 的方法,以及常見問題處理。
通過 Docker Machine 工具,能夠快速創建運行 Docker 服務的主機。為了快速理解 Docker Machine 的作用,請查看如下示例:
它是個工具,因此我們需要安裝相關的命令(我們 Linux 環境):
# 下載命令 base=https://github.com/docker/machine/releases/download/v0.16.0 curl -L $base/docker-machine-$(uname -s)-$(uname -m) > /usr/local/bin/docker-machine # 授權執行 chmod +x /usr/local/bin/docker-machine # 配置 Bash 補全 base=https://raw.githubusercontent.com/docker/machine/v0.16.0 for i in docker-machine-prompt.bash docker-machine-wrapper.bash docker-machine.bash do sudo wget "$base/contrib/completion/bash/${i}" -P /etc/bash_completion.d done
// 在首次執行時,什么都沒有 // 畢竟是第一次執行,我們還沒有創建任何東西 # docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS // 執行如下命令,將在本地的 Virtolbox 中創建虛擬機 // 該虛擬機實例中運行 Docker 服務 # docker-machine create --driver virtualbox default Running pre-create checks... Creating machine... (staging) Copying /Users/ripley/.docker/machine/cache/boot2docker.iso to /Users/ripley/.docker/machine/machines/default/boot2docker.iso... (staging) Creating VirtualBox VM... (staging) Creating SSH key... (staging) Starting the VM... (staging) Waiting for an IP... Waiting for machine to be running, this may take a few minutes... Machine is running, waiting for SSH to be available... Detecting operating system of created instance... Detecting the provisioner... Provisioning with boot2docker... Copying certs to the local machine directory... Copying certs to the remote machine... Setting Docker configuration on the remote daemon... Checking connection to Docker... Docker is up and running! To see how to connect Docker to this machine, run: docker-machine env default // 當我們再次查看時,將看到我們創建的實例 # docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS default * virtualbox Running tcp://192.168.99.187:2376 v1.9.1 // 為了訪問我們新創建的實例,需要設置環境變量 # docker-machine env default export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://172.16.62.130:2376" export DOCKER_CERT_PATH="/Users/<yourusername>/.docker/machine/machines/default" export DOCKER_MACHINE_NAME="default" # Run this command to configure your shell: # eval "$(docker-machine env default)" // 接下來,我們便可以直接使用 docker 命令,以在該實例中創建容器 # docker run busybox echo hello world Unable to find image 'busybox' locally Pulling repository busybox e72ac664f4f0: Download complete 511136ea3c5a: Download complete df7546f9f060: Download complete e433a6c5b276: Download complete hello world
Docker Machine 就是這么個工具。
當然,除了 VirtualBox 之外,選項 --driver virtualbox 能夠替換為 --driver vmwarefusion / --driver aliyunecs 等等,參考 docker.github.io/AVAILABLE_DRIVER_PLUGINS.md 頁面,以在不同的環境中快速部署創建運行 Docker 服務的云主機實例。
作為知識儲備吧,目前我們還沒有需要使用 Docker Machine 工具的場景。
在 GitLab CI 中,能夠配置 Docker Machine 實現 GitLab Runner 節點的動態擴展。但是 Docker Machine 會操縱 Docker 服務,而非我們想象的單純在遠程主機中運行容器,因此,我們還無法將其運用在 GitLab 中。
感謝各位的閱讀,以上就是“如何快速創建運行Docker服務的主機”的內容了,經過本文的學習后,相信大家對如何快速創建運行Docker服務的主機這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。