天天看點

[Docker系列·13] 使用fig啟動容器

fig的使用非常簡單,隻需要配置<code>fig.yml</code>并在同目錄下執行<code>fig up -d</code>即可啟動容器。

配置中的兩個鏡像的建立,請參考本系列前面的文章:

可以使用fig自己的指令檢測:

也可以使用docker指令檢測:

在另外一台主機通路docker的host,測試結果如下:

[Docker系列·13] 使用fig啟動容器

雖然使用fig簡單,但小白還是有寫坑要踩。這裡列舉如下。

當系統沒有指定docker_host參數時,執行fig指令會遇到如下錯誤。

解決的辦法是<code>export</code>該參數到目前終端或<code>.bashrc</code>:

ubuntu預設安裝的docker沒有啟動tcp監聽,是以這個約定俗成的端口4243也是要設定的。 可以在啟動docker時加參數,但如果是執行<code>sudo service docker start</code>的話,還是要設定一下docker_opts:

配置<code>/etc/default/docker</code>:

-api-enable-cors:這個參數的意義是允許ajax跨域資源共享。

tcp://0.0.0.0:4243:這個參數的意義是讓docker監聽所有4243端口的tcp請求(當然http是基于tcp之上的,remote api也是走這個端口) -

其他啟動相關的配置參見:<code>/etc/init/docker.conf</code>

ubuntu預設是不允許使用cgroup做記憶體等資源的調配的,如果你在docker的配置檔案<code>dockerfile</code>或者fig的配置檔案<code>fig.yml</code>中設定了容器的啟動記憶體,會遇到如下警告:

解決的辦法是設定grub參數:

配置<code>/etc/default/grub</code>:

然後執行<code>sudo update-grub</code>,重新開機系統生效。

坑還不止于此,這是我踩過的。關于docker和fig的磚今天先抛到這裡。

繼續閱讀