【问题标题】:script failed to run docker-compose and ./asadmin start-domain domain1脚本无法运行 docker-compose 和 ./asadmin start-domain domain1
【发布时间】:2021-04-10 15:54:42
【问题描述】:

我尝试做一个简单的脚本来运行 docker-compose 以及当容器由 docker-compose 运行时

它应该进入容器内部并使用 ./asadmin start-domain domain1 启动 glassfish

运行 docker-compose & glassfish 容器的脚本

 #!/bin/sh
    
    docker-compose up -d
    
    docker exec -it glassfishapp bash -c 'cd glassfish5/bin && ./asadmin start-domain domain1'

当我运行 docker-compose 并使用 docker exec -it id bash 进入 glassfish 容器时

我可以访问我的应用程序部署到 glassfish 图像 但是当我使用脚本时我无法访问

【问题讨论】:

  • 如果没有 Docker,您将如何完成这项任务? (您会以某种方式在应用程序服务器进程中获得一个外壳,还是使用调试器连接到它?)我怀疑这是一项需要从单独的容器或主机运行的任务。
  • 手动运行 docker-compose 我应该每次都执行 docker exec -it (glassfish 容器的 id) bash 并运行命令:./asadmin start-domain domain1 来运行 glassfish我做了一个脚本来执行该脚本将运行 docker-compose 并访问容器以运行此命令 ./asadmin start-domain domain1

标签: docker docker-compose containers glassfish devops


【解决方案1】:

docker-compose up -d 将根据-d 选项分叉到后台,这意味着您的脚本将立即尝试连接到几乎可以肯定尚未启动的容器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-29
    • 1970-01-01
    • 2021-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-30
    相关资源
    最近更新 更多