開機時確保 docker 網路建立 docker 網路不要冠上 service 的名稱
需求: ubuntu 18 之後預設已經沒有 /etc/rc.local 這個檔案,所以,要自已加1個,然後就能做開機之後要做的事 docker 的網路已經事先建(create)好了,如果直接在 docker-compose.yml 的設定檔裏面直接引用的話,不但會和建好的網路相衝,必須移掉相衝的網路重新啟用容器,而啟用設定檔內的網路時, service 的名稱就會冠在 network NAME 前面,不是很直覺 如果 docker 網路沒有建好,想要開機時確保 網路建立 起來 工作環境: ubuntu server 18 lts docker /etc/rc.local 動手: /etc/rc.local 這個檔預設是沒有的,開起來就行,記得加上執行的權限,等一下重開機才會執行 printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local sudo chmod +x /etc/rc.local vim /etc/rc.local 在 exit 0 之前加上你要做的事,確保建立 docker 網路 docker network create your.network.name --driver=bridge --subnet=192.168.0.0/24 || true 編輯容器的設定檔 /somewhere/docker-compose.yml services : app : image : someone/app:latest restart : always volumes : - /path/you/want:/data ports : - "1.2.3.4:1:1" - "2:2/udp" networks : # 把既有的網路指定給 service ...