docker-compose 拉取镜像并发布镜像

x33g5p2x  于2021-11-18 转载在 Docker  
字(3.1k)|赞(0)|评价(0)|浏览(1096)

docker compose 定义

compose 用于定于和运行多容器docker应用程序的工具,通过compose,可以使用YML文件来配置应用程序需要的所有服务;使用一个命令可以从yml文件配置中创建并启动所有服务。

compose的使用步骤

1、使用dockerfile定义应用程序的环境
2、使用docker-compose.yml定义构成应用程序的服务
3、执行docker-compose up 命令零启动并运行整个应用程序

定义docker_compose.yml

  1. version: "3"
  2. services:
  3. api:
  4. image: "xxxxxxx/xxxxx${IMAGE_TAG}"
  5. container_name: XXXXXX-api
  6. restart: always
  7. network_mode: "host"
  8. logging:
  9. driver: "json-file"
  10. options:
  11. max-size: "10m"
  12. max-file: "5"
  13. volumes:
  14. - /XXXXX:/XXXXXX:rshared
  15. - ${XXX_MNT_DIR}:${XXX_MNT_DIR}:rshared
  16. - ${XXX_SERVICES_DIR}/XXXX/api/provisioning:${XXXX_SERVICES_DIR}/XXX/api/provisioning
  17. - ${XXX_SERVICES_DIR}/XXX/api/logs:/var/log/xxx
  18. - ${XXX_SERVICES_DIR}/xxx/api/data:/root/h2
  19. - /etc/resolv.conf:/etc/resolv.conf:ro
  20. - /home/xxx/.ssh/id_rsa:/home/xxx/.ssh/id_rsa:ro
  21. environment:
  22. - api.ldap.home-directory=${LDAP_USER_HOME_DIRECTORY}
  23. - api.ldap.login-shell=${LDAP_USER_LOGIN_SHELL}
  24. - api.version=${API_VERSION}
  25. - api.deployMode=PUBLIC
  26. - api.authProvider=${AUTH_PROVIDER}
  27. - api.licenseMonitor=${LICENSE_MONITOR}
  28. - api.fsCloudCode=${FS_CLOUD_CODE}
  29. - api.cloudVendor=${CLOUD_VENDOR}
  30. - security.authProvider=${AUTH_PROVIDER}
  31. - cloud.enabled=false
  32. - xxx.username=${FASTONE_SERVICE_ACCOUNT}
  33. - xxx.password=${FASTONE_SERVICE_PASSWD}
  34. - cluster.storageInfos[0].device=${CLUSTER_STORAGEINFOS_DEVICE}
  35. - cluster.storageInfos[0].fsType=${CLUSTER_STORAGEINFOS_FSTYPE}
  36. - cluster.storageInfos[0].dir=${CLUSTER_STORAGEINFOS_DIR}
  37. - cluster.storageInfos[0].option=${CLUSTER_STORAGEINFOS_OPTION}
  38. - cluster.storageInfos[0].username=${CLUSTER_STORAGEINFOS_USERNAME}
  39. - cluster.storageInfos[0].password=${CLUSTER_STORAGEINFOS_PASSWORD}
  40. - cluster.storageInfos[1].device=${CLUSTER_STORAGEINFOS_CIFS_DEVICE}
  41. - cluster.storageInfos[1].fsType=${CLUSTER_STORAGEINFOS_CIFS_FSTYPE}
  42. - cluster.storageInfos[1].dir=${CLUSTER_STORAGEINFOS_CIFS_DIR}
  43. - cluster.storageInfos[1].option=${CLUSTER_STORAGEINFOS_CIFS_OPTION}
  44. - cluster.storageInfos[1].username=${CLUSTER_STORAGEINFOS_CIFS_USERNAME}
  45. - cluster.storageInfos[1].password=${CLUSTER_STORAGEINFOS_CIFS_PASSWORD}
  46. - spring.ldap.urls=${LDAP_URI}
  47. - spring.ldap.password=${LDAP_PASSWORD}
  48. - api.trial-mode=${TRIAL_MODE}
  49. - api.maxFileSize=${MAX_FILE_SIZE}
  50. depends_on:
  51. - db
  52. XXXservice:
  53. image: "XXXXXXXX/XXXservice${XXXXX_IMAGE_TAG}"
  54. container_name: XXXXX
  55. restart: always
  56. network_mode: "host"
  57. logging:
  58. driver: "json-file"
  59. options:
  60. max-size: "10m"
  61. max-file: "5"
  62. environment:
  63. - fastone.XXXX-stack.strategy=XXXX
  64. - fastone.XXXX-stack.level=standard
  65. - API_USERNAME=${XXXX}
  66. - API_PASSWORD=${XXXX}
  67. - XX.global.api.username=${XXX}
  68. - XX.global.api.password=${XXX}
  69. - XX.service-users[0].username=${XX}
  70. - XX.service-users[0].password=${XX}
  71. - jasypt.encryptor.password=${JASYPT_ENCRYPTOR_PASS}
  72. volumes:
  73. - ${XX}/XX/XX/logs:/var/log/fastone
  74. - ${XX}/XX/XX/data:/root/h2
  75. - /etc/resolv.conf:/etc/resolv.conf:ro
  76. - /XX/data-migrate:/XX/data-migrate
  77. - ${XX}/billing:/XX/billing:rshared
  78. ports:
  79. - "50210:50210"
  80. - "50121:50121"
  81. depends_on:
  82. - db

批量拉取镜像的命令

  1. docker-compose -f fastone_cloud.yml pull

单个拉取镜像的命令

  1. docker-compose -f fastone_cloud.yml pull 服务名称

删除服务的命令(部署新的服务)

  1. docker-compose -f fastone_cloud.yml rm -fs 服务名称
  2. docker-compose -f fastone_cloud.yml up -d 服务名称

相关文章

最新文章

更多