这是我的production.Dockerfile
FROM elixir:1.6.5
RUN apt-get -y -qq update > /dev/null && \
mix local.hex --force && \
mix local.rebar --force && \
ln -s /lib/x86_64-linux-gnu/libncursesw.so.5 /lib/x86_64-linux-gnu/libncursesw.so.6
WORKDIR /phx_test
ADD phx_test.tar.gz .
EXPOSE 4001
ENTRYPOINT ["bin/phx_test"]
CMD ["console"]
production.docker-stack.yml
version: "3.6"
services:
server:
image: repo-name/webapp:0.0.2
depends_on:
- database
networks:
- backend
ports:
- "80:4001"
deploy:
replicas: 3
database:
image: postgres:10
ports:
- "5432:5432"
secrets:
- db-secret
volumes:
- db-data:/var/lib/postgresql/data
environment:
- POSTGRES_USER=pguser
- POSTGRES_PASSWORD_FILE=/run/secrets/db-secret
- POSTGRES_HOST=db-phx-test
- POSTGRES_DB=phx-test-prod
networks:
- backend
networks:
backend:
volumes:
db-data:
secrets:
db-secret:
external: true
配置/ prod.secret.exs
config :phx_test, PhxTestWeb.EndPoint,
http: [port: 4001],
url: [host: "server", port: 4001],
secret_key_base: "******"
config :phx_test, PhxTest.Repo,
adapter: Ecto.Adapter.Postgres,
username: "pguser",
password: "super-secret-pw",
hostname: "database",
database: "phx-test-prod",
port: 5432,
pool_size: 15
我将使用Phoenix + Absinthe进行下一个即将开展的项目,我想将我的凤凰应用程序停靠,所以我使用简单的hello world phoenix应用程序进行测试。
我可以从我构建的图像中轻松运行容器并访问hello world页面而没有任何问题,但在执行stack deploy
后,发生了这种情况
由于某种原因我似乎不知道如何解决这个问题,任何人都有这个问题,请分享一些想法如何解决它。