# Manager & Apitesttool 容器化相關文件 ## Manager 部分 1. `docker exec -it manager sh` 可以進到檢測平台後台的那台容器裡 2. code 在 `/volume/data/manager/` ## Apitesttool 部分 1. `docker exec -it apitsettool sh` 可以進到apitesttool的那台容器裡, 2. code 在 `/volume/data/apitesttool/` 3. 如有需要,manager容器的code在 `/volume/manager/` ## Docker部分 參考 [官方 Docker 文件](https://docs.docker.com/get-started/)、[官方 docker-compose 文件](https://docs.docker.com/compose/)、[中文教學1](https://docs.microsoft.com/zh-tw/visualstudio/docker/tutorials/use-docker-compose)、[中文教學2](https://ithelp.ithome.com.tw/articles/10243618) 1. git 是 `AutoProfiler / AutoProfiler`,這一包git 基本上等於整個自動化檢測平台的所有服務和容器 2. docker-compose.yml 裡面包含每個服務的port和volumn掛載的對應 3. 每個容器都是以 git submodule 的方式維護,每個容器的 git 如下圖  4. 基本上 `AutoProfiler` 拉下來後直接用 `./init.sh` 就可完成所有檢查和啟動,要先確定本機的3306、8080、50000、9898、8787、15000 port 都沒被占用,不然就要調整docker-compose.yml 5. 每個容器的dockerfile 都在他們自己的git裡,理論上應該不太會去改 6. 執行指令的話 `docker exec -it [oo] [xx]`,`oo`是容器名稱,`xx`是要執行的指令,例如要在`apitesttool`跑`pm2 logs` 就可以下 `docker exec -it apitesttool pm2 logs` 7. `docker ps` 可以看目前容器的啟動狀態 8. `docker logs` 可以看容器的logs,後面加上容器名稱可以看指定容器的,如 `docker logs manager` ### apitesttool的 Dockerfile 1. git 是 `Dockerfile_Apitesttool` 2. 裡面有一個 `dockerfiler/Dockerfile`,可以定義容器初始化的時候要做的事,他的最後一行會把參數傳到`dockerfiler/entrypoint.sh` 去執行,看有沒有要額外做什麼可以參考一下原本的內容,我現在只有在初始化時進行 git pull 把 code 拉下來然後啟動 3. 啟動服務的部分我先直接下 pm2 的指令去起,沒有用 start.sh,但是內容幾乎一樣,只是多了 --no-daemon 參數,這樣才能讓容器永久啟動,若要用 start.sh 啟動的話需要調整 start.sh 吃的參數,可以參考 manager 那包 code 的 start.sh,務必要讓 pm2 做啟動時有帶入 `--no-daemon`,又或是 start.sh 啟動後要用別的指令讓容器不會停止運行
×
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