# Docker的網路-Docker Compose yaml的寫法(Services top-level element network篇) Compose Yaml其實有不少可以好好琢磨的地方,大家可以嘗試好好研讀跟熟練,我覺得多練習撰寫yaml,對未來轉換到k8s寫yaml,幫助會很大 這邊說明一下compose yaml的top-level * version * name * service * volume * network * secret * config 所有top-level的撰寫中,只有service是必要的,沒有service就無法讓compose可以正常執行,其他top-level可以依據需求調整 我們這邊小試身手,嘗試把docker run轉換成docker compose yaml 從最簡單的docker run -d -p 3000:3000 gogs/gogs,我們來看如何拆解。 1. -p:publish,這個參數屬於service level,我們使用官方文件查一下對映的寫法:  ``` ports: - "3000:3000" ``` 參考: https://docs.docker.com/compose/compose-file/05-services/#attach 2. gogs/gogs:這是service level的image,一樣找一下文件: ``` image: gogs/gogs ``` 3. -d: detach,這部份必須在docker-compose的時候加上-d,無法寫在compose yaml  參考: https://docs.docker.com/engine/reference/commandline/compose_up/ 所以我們來改寫成compose yaml吧 ``` version: "3" name: test1 services: gogs: image: gogs/gogs ports: - "3000:3000" ``` 執行 > docker-compose -f docker-compose.yaml up -d 成功!!!  本篇很簡單的將docker run改成docker compose yaml,後續會把之前寫的dns也做轉換。
×
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