Son*_*nam 4 docker docker-compose
我正在使用Docker,我有一个需要以下内容的网络应用程序:
要安装第2项和第3项,请执行以下操作:
我可以为PostgreSQL运行一个命令,如:
docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
Run Code Online (Sandbox Code Playgroud)
对于Mongodb,我运行:
docker run --name some-mongo -d mongo
Run Code Online (Sandbox Code Playgroud)
对于Tomcat,我有一个带Tomcat的Dockerfile并将我的war复制到apps文件夹.我使用Docker构建映像并运行它.
我的问题是,是否有更好的方法通过单独的脚本逐步协调这个?Docker是否构成了解决方案?
谢谢
Dockerfile是用于构建映像的配方,它是用于启动容器的模板.要使用标准化图像描述由多个容器组成的系统,您将使用docker-compose,而不是新的Dockerfile.您可以使用Dockerfile来自定义预先存在的docker镜像,例如mysql或node或ubuntu,以用于某些特定用途.
docker-compose 允许您将多个docker命令表示为特定格式的.yml文件.
然后,您可以使用它docker-compose up来启动容器集.
该泊坞窗,撰写.yml文件为您的例子可能有点开始这样看
some-postgres:
environment:
POSTGRES_PASSWORD:mysecretpassword
image: postgres
some-mongo:
image: mongo
您可以使用links:一行在容器之间添加链接.这些和其他细节都在文档中.
基本上 docker-compose 只是 docker run 的 yaml 文件实现。由于 docker run 已传递参数,因此这些完全相同的参数在 docker compose 中以 yaml 格式而不是在命令行上规定。Docker compose 也支持多个容器。
Docker compose 还有一些其他不错的功能,例如 docker-compose log ,该命令提供由 compose 启动的所有容器的日志。
| 归档时间: |
|
| 查看次数: |
3782 次 |
| 最近记录: |