溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何快速創(chuàng)建運行Docker服務的主機

發(fā)布時間:2021-10-13 13:43:44 來源:億速云 閱讀:145 作者:iii 欄目:編程語言

這篇文章主要講解了“如何快速創(chuàng)建運行Docker服務的主機”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何快速創(chuàng)建運行Docker服務的主機”吧!

問題描述

在 GitLab CI 中,我們發(fā)現(xiàn)有種 Executor 為 Docker Machine 類型。因此,我們開始了解 Docker Machine 相關的內容,學習它的功能及使用場景,思考它能否解決我們的問題。

該筆記將記錄:在 Docker 中,使用 Dcoker Machine 的方法,以及常見問題處理。

解決方案

通過 Docker Machine 工具,能夠快速創(chuàng)建運行 Docker 服務的主機。為了快速理解 Docker Machine 的作用,請查看如下示例:

第一步、安裝 Docker Machine 命令

它是個工具,因此我們需要安裝相關的命令(我們 Linux 環(huán)境):

# 下載命令
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

# 授權執(zhí)行
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 Mainche 命令

// 在首次執(zhí)行時,什么都沒有
// 畢竟是第一次執(zhí)行,我們還沒有創(chuàng)建任何東西

# docker-machine ls
NAME   ACTIVE   DRIVER   STATE   URL   SWARM   DOCKER   ERRORS

// 執(zhí)行如下命令,將在本地的 Virtolbox 中創(chuàng)建虛擬機
// 該虛擬機實例中運行 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

// 當我們再次查看時,將看到我們創(chuàng)建的實例

# docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER   ERRORS
default   *        virtualbox   Running   tcp://192.168.99.187:2376           v1.9.1

// 為了訪問我們新創(chuàng)建的實例,需要設置環(huán)境變量

# 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 命令,以在該實例中創(chuàng)建容器

# 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 頁面,以在不同的環(huán)境中快速部署創(chuàng)建運行 Docker 服務的云主機實例。

總結說明

作為知識儲備吧,目前我們還沒有需要使用 Docker Machine 工具的場景。

在 GitLab CI 中,能夠配置 Docker Machine 實現(xiàn) GitLab Runner 節(jié)點的動態(tài)擴展。但是 Docker Machine 會操縱 Docker 服務,而非我們想象的單純在遠程主機中運行容器,因此,我們還無法將其運用在 GitLab 中。

感謝各位的閱讀,以上就是“如何快速創(chuàng)建運行Docker服務的主機”的內容了,經(jīng)過本文的學習后,相信大家對如何快速創(chuàng)建運行Docker服務的主機這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI