鍍金池/ 教程/ Linux/ fig.yml 參考
利用數(shù)據(jù)卷容器來備份、恢復(fù)、遷移數(shù)據(jù)卷
Docker 網(wǎng)絡(luò)實(shí)現(xiàn)
實(shí)戰(zhàn) Django
YAML 模板文件
名字空間
控制組
編輯網(wǎng)絡(luò)配置文件
列出
進(jìn)入容器
Compose 命令說明
創(chuàng)建 Tomcat/Weblogic 集群
守護(hù)態(tài)運(yùn)行
快速配置指南
其它安全特性
示例:創(chuàng)建一個(gè)點(diǎn)到點(diǎn)連接
CentOS 系列安裝 Docker
數(shù)據(jù)卷容器
鏡像
指令
創(chuàng)建鏡像
Docker 容器
創(chuàng)建鏡像
常用倉庫
總結(jié)
什么是 Docker
存出和載入鏡像
使用
獲取鏡像
容器互聯(lián)
為什么要使用 Docker?
使用 Wordpress 入門 Fig
啟動(dòng)
容器訪問控制
私有倉庫
使用
基本架構(gòu)
自定義網(wǎng)橋
環(huán)境變量參考
實(shí)戰(zhàn) Rail
服務(wù)端的防護(hù)
刪除
鏡像的實(shí)現(xiàn)原理
多臺(tái)物理主機(jī)之間的容器互聯(lián)
Docker 倉庫
簡(jiǎn)介
數(shù)據(jù)卷
命令參考
使用 Supervisor 來管理進(jìn)程
移除
基本結(jié)構(gòu)
命令查詢
終止容器
聯(lián)合文件系統(tǒng)
安裝
簡(jiǎn)介
配置 DNS
內(nèi)核能力機(jī)制
導(dǎo)出和導(dǎo)入容器
配置 docker0 網(wǎng)橋
倉庫配置文件
內(nèi)核名字空間
標(biāo)準(zhǔn)化開發(fā)測(cè)試和生產(chǎn)環(huán)境
外部訪問容器
fig.yml 參考
Ubuntu 系列安裝 Docker
有用資源
安裝
端口映射實(shí)現(xiàn)
安裝 Fig
工具和示例
簡(jiǎn)介
控制組
容器格式
Docker Hub

fig.yml 參考

每個(gè)在 fig.yml 定義的服務(wù)都需要指定一個(gè)鏡像或鏡像的構(gòu)建內(nèi)容。像 docker run 的命令行一樣,其它內(nèi)容是可選的。

docker runDockerfile 中設(shè)置的選項(xiàng)(例如:CMD, EXPOSE, VOLUME, ENV) 作為已經(jīng)提供的默認(rèn)設(shè)置 - 你不需要在 fig.yml 中重新設(shè)置。

image

這里可以設(shè)置為標(biāo)簽或鏡像ID的一部分。它可以是本地的,也可以是遠(yuǎn)程的 - 如果鏡像在本地不存在,Fig 將會(huì)嘗試?yán)ミ@個(gè)鏡像。

image: ubuntu
image: orchardup/postgresql
image: a4bc65fd

build

指定 Dockerfile 所在文件夾的路徑。 Fig 將會(huì)構(gòu)建這個(gè)鏡像并給它生成一個(gè)名字,然后使用這個(gè)鏡像。

build: /path/to/build/dir

command

覆蓋默認(rèn)的命令。

command: bundle exec thin -p 3000

links

在其它的服務(wù)中連接容器。使用服務(wù)名稱(經(jīng)常也作為別名)或服務(wù)名稱加服務(wù)別名 (SERVICE:ALIAS) 都可以。

links:
 - db
 - db:database
 - redis

可以在服務(wù)的容器中的 /etc/hosts 里創(chuàng)建別名。例如:

172.17.2.186  db
172.17.2.186  database
172.17.2.187  redis

環(huán)境變量也將被創(chuàng)建 - 細(xì)節(jié)查看環(huán)境變量參考章節(jié)。

ports

暴露端口。使用宿主和容器 (HOST:CONTAINER) 或者僅僅容器的端口(宿主將會(huì)隨機(jī)選擇端口)都可以。

注:當(dāng)使用 HOST:CONTAINER 格式來映射端口時(shí),如果你使用的容器端口小于60你可能會(huì)得到錯(cuò)誤得結(jié)果,因?yàn)?YAML 將會(huì)解析 xx:yy 這種數(shù)字格式為60進(jìn)制。所以我們建議用字符指定你得端口映射。

ports:
 - "3000"
 - "8000:8000"
 - "49100:22"
 - "127.0.0.1:8001:8001"

expose

暴露不發(fā)布到宿主機(jī)的端口 - 它們只被連接的服務(wù)訪問。僅僅內(nèi)部的端口可以被指定。

expose:
 - "3000"
 - "8000"

volumes

卷掛載路徑設(shè)置??梢栽O(shè)置宿主機(jī)路徑 (HOST:CONTAINER) 或訪問模式 (HOST:CONTAINER:ro)

volumes:
 - /var/lib/mysql
 - cache/:/tmp/cache
 - ~/configs:/etc/configs/:ro

volumes_from

從另一個(gè)服務(wù)或容器掛載所有卷。

volumes_from:
 - service_name
 - container_name

environment

設(shè)置環(huán)境變量。你可以使用數(shù)組或字典兩種格式。

環(huán)境變量在運(yùn)行 Fig 的機(jī)器上被解析成一個(gè)key。它有助于安全和指定的宿主值。

environment:
  RACK_ENV: development
  SESSION_SECRET:

environment:
  - RACK_ENV=development
  - SESSION_SECRET

net

設(shè)置網(wǎng)絡(luò)模式。使用和 docker client--net 參數(shù)一樣的值。

net: "bridge"
net: "none"
net: "container:[name or id]"
net: "host"

dns

配置DNS服務(wù)器。它可以是一個(gè)值,也可以是一個(gè)列表。

dns: 8.8.8.8
dns:
  - 8.8.8.8
  - 9.9.9.9

working_dir, entrypoint, user, hostname, domainname, mem_limit, privileged

這些都是和 docker run 對(duì)應(yīng)的一個(gè)值。

working_dir: /code
entrypoint: /code/entrypoint.sh
user: postgresql

hostname: foo
domainname: foo.com

mem_limit: 1000000000
privileged: true