--- title: 【軟體】compose.yml 細節 tags: TTennis Pickup Robot disqus: hackmd --- <h1 style="text-align: center; color: orange;"> 🛠️ 【軟體】必學的 Docker 🛠️ </h1> <h2 style="text-align: center; color: skyblue;">compose.yml 細節</h2> <center> `compose.yml` 的用意是將 docker run 的各種附加參數, 改成全部定義在一份 yml 檔案中, 並且以 `docker compose up` 取代 `docker run [...]`。 </center> </br> <h3><font color="magenza"> 1. 我常用的設定 </font></h3> 具體參數不知道意義的就 GPT 唄。 * <font color="yellow">compose.yml 主要功能:網路、賦予 USB 端口權限、容器 GUI、工作目錄掛載。</font> ```yaml= ############################# ### shared settings ### ############################# x-shared-settings: &shared-settings build: context: . dockerfile: Dockerfile target: final image: pomelo925/ttennis-humble:rtabmap tty: true network_mode: host privileged: true volumes: - /tmp/.X11-unix:/tmp/.X11-unix - $HOME/.Xauthority:/root/.Xauthority - /dev:/dev - ../slam-ws/src:/home/user/slam-ws/src environment: - DISPLAY=${DISPLAY} - COMMAND=${COMMAND} devices: - /dev:/dev ############################# ### Container Startup ### ############################# services: rtabmap-deployment: <<: *shared-settings container_name: rtabmap-deployment command: "/bin/bash" ``` 設定完後一樣在 `compose.yml` 的資料夾層級中輸入 `docker compose up`。 就能啟動並進入容器的終端機了。 </br> <h3><font color="magenza"> 2. docker compose 常用的指令 </font></h3> * `docker compose build`:構建 Image,會從 Dockerfile 構建。 注意如果本地端原有相同 Image 但是用 pull 下來的,就會構建並覆蓋之。 * `docker compose -p rtabmap up -d `: 參數 `-d` 表示背景執行(daemon),不會占用終端機。 參數 `-p` 是設定群組名稱,預設是 docker。 * `docker compose -p rtabmap down --volumes --remove-orphans`: 移除 rtabmap 群組底下的 container 們。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up