-
Install Docker Engine.
-
Download this github repository.
git clone https://github.com/ycpss91255/docker_template
-
Copy to your project directory.
-
<workspace_path>
: replace with real project folder path.cp -r docker_template <workspace_path> # or cp -r docker_template <workspace_path>/docker
-
Example:
# ROS format workspace cp -r docker_template ~/test_ws/src
-
-
Adjust Dockerfile to suit your needs
-
Build Docker image (run
build.sh
).<docker_path>
replace with real to docker location.
./<docker_path>/build.sh
-
Run Docker container (run
run.sh
).<docker_path>
replace with real to docker location.
./<docker_path>/run.sh
-
Enjoy Docker support.
-
Docker image name wil be named based on the follwing order:
- Dockerfile name (suffix), ex: Dockerfile_DuckDuckGo, the image name will be DuckDuckGo.
- Workspace folder name (prefix), ex: Microsoft_ws, the image name will be Microsoft.
- If neither exists, the image name will be unknown.
-
Docker container name will be named in the format of
<user>/<container>
and named based on the following order:<user>
:- Docker login username.
- system username.
- if neither exists,
<user>
will be named initial.
<container>
:- Workspace folder name (prefix), ex: chrome_ws, the container name will be chrome.
- Dockerfile name (suffix), ex: Dockerfile_Firefox, the container name will be Firefox.
- If neither exists, the container name will be unknown.
-
Dockerfile and entrypoint.sh notes:
- It is possible to add hardware architecture as a suffix to the file name.
- ex: Dockerfile_x86_64 or Dockerfile_aarch64.
- ex: entrypoint_x86_64.sh or entrypoint_aarch64.sh.
- If there are multiple Dockerfile or entrypoint.sh file in the docker folder, the script will use the one that matches the current hardware architecture.
- It is possible to add hardware architecture as a suffix to the file name.
-
安裝 Docker Engine。
-
下載這個 Github 儲存庫。
git clone https://github.com/ycpss91255/docker_template
-
複製到你的專案目錄中。
-
<workspace_path>
: 替換為真實的專案資料夾位置。cp -r docker_template <workspace_path> # or cp -r docker_template <workspace_path>/docker
-
例如:
# ROS format workspace cp -r docker_template ~/test_ws/src
-
-
調整 Dockerfile 以符合你的需求。
-
建構 Docker image (執行
build.sh
)。<docker_path>
: 替換為真實的 docker 資料夾位置。
./<docker_path>/build.sh
-
執行 Docker container (執行
run.sh
)。<docker_path>
: 替換為真實的 docker 資料夾位置。
./<docker_path>/run.sh
-
享受 Docker 支援。
-
Docker image 名稱會使用以下的順序進行命名:
- Docker 資料夾名稱 (後綴),例如:Docker_resistor,image 名稱就是 resistor。
- 工作區資料夾名稱 (前綴),例如:capacitor_ws,image 名稱就是 capacitor。
- 以上都沒有,image 名稱為 unknown。
-
Docker container 名稱會以
<user>/<container>
的格式並且搭配以下順序進行命名:<user>
:- Docker 登入的使用者名稱。
- 系統的使用者名稱。
- 以上都沒有,
<user>
名稱就是 initial。
<container>
:- 工作區資料夾名稱 (前綴),例如:inductor_ws,container 名稱就是 inductor。
- Docker 資料夾名稱 (後綴),例如:Docker_antennas,container 名稱就是 antennas。
- 以上都沒有,container 名稱為 unknown。
-
Dockerfile 與 entrypoint.sh 注意事項:
- 可允許增加硬體系統架構作為檔案名稱的後綴。
- 例如:Dockerfile_x86_64 或 Dockerfile_aarch64。
- 例如:entrypoint_x86_64.sh 或 entrypoint_arrch64.sh。
- 如果在 docker 資料夾底下有多個 Dockerfile 或 entrypoint.sh 會使用與當前電腦系統架構相同檔案。
- 可允許增加硬體系統架構作為檔案名稱的後綴。