下面由composer教程栏目给大家介绍关于docker-compose命令的对比,希望对需要的朋友有所帮助!
对比
image vs build
image:如果镜像在本地不存在,compose 将会尝试拉去这个镜像。
build:指定 dockerfile 所在文件夹的路径。 compose 将会利用它自动构建这个镜像,然后使用这个镜像。
● links vs external_links
links:链接到其它服务中的容器。使用服务名称(同时作为别名)或服务名称:服务别名 (service:alias) 格式都可以。使用的别名将会自动在服务容器中的 /etc/hosts 里创建。
external_links:链接到 docker-compose.yml 外部的容器,甚至 并非 compose 管理的容器。
ports vs expose
● ports
暴露端口信息。使用:宿主:容器 (host:container)格式或者仅仅指定容器的端口(宿主将会随机选择端口)都可以。
当使用 host:container 格式来映射端口时,如果你使用的容器端口小于 60 你可能会得到错误得结果,因为 yaml 将会解析 xx:yy 这种数字格式为 60 进制。所以建议采用字符串格式。
● expose
暴露端口,但不映射到宿主机,只被连接的服务访问。
仅可以指定内部端口为参数
volumes vs volumes_from
● volumes
卷挂载路径设置。可以设置宿主机路径 (host:container) 或加上访问模式 (host:container:ro)。
ro就是readonly的意思,只读模式。
● volumes_from
从另一个服务或容器挂载它的所有卷。
注:
compose环境变量说明环境变量已经不再是用来连接服务的推荐方法了,相反,应该使用链接名称(默认情况下是链接服务的名称)作为主机名称来连接,这可以查看docker-compose.yml的更多细。compose使用docker links来暴露服务的容器给其他的。每一个链接的容器都使用了一组环境变量,这每一组环境变量都是以容器名称的大写字母开头的。要查看服务可用的环境变量,运行docker-compose run service env
以上就是docker-compose命令对比的详细内容。