-
Notifications
You must be signed in to change notification settings - Fork 0
0.プロジェクトの作成
Suzuki-Takumi0505 edited this page May 19, 2022
·
1 revision
phoenixプロジェクトの作成をする前にdockerイメージをビルドして立ち上げます。
docker-compose build
docker-compose up -d
※docker-compose build はコンテナを削除していない場合は(2回目以降のコンテナの立ち上げ)実行しなくても大丈夫です。
コンテナが立ち上がっていることを確認します。
docker-compose ps
NAME COMMAND SERVICE STATUS PORTS
typing_app-db-1 "docker-entrypoint.s…" db running 5432/tcp
typing_app-web-1 "bash" web running 0.0.0.0:4000->4000/tcp
STATUSが「running」になっていることを確認します。
コンテナが立ち上がっていることを確認したらwebコンテナの中に入ります。
docker-compose exec web /bin/bash
コンテナの中に入ったらアプリケーションを作成します。
mix phx.new typing
アプリケーションが作成できたらtypeing_appディレクトリに入りパッケージの取得、コンパイルをします。
cd typing
mix deps.get
mix deps.compile
DBにアクセスできるように以下のように変更します。
- config/dev.exs
config :typing, Typing.Repo,
username: "postgres",
password: "postgres",
hostname: "db",
database: "typing_dev",
show_sensitive_data_on_connection_error: true,
pool_size: 10
DBを作成します。
mix ecto.create
コンテナ内からアクセスできるように以下を変更します。
- config/dev.exs
config :typing, TypingWeb.Endpoint,
# Binding to loopback ipv4 address prevents access from other machines.
# Change to `ip: {0, 0, 0, 0}` to allow access from other machines.
http: [ip: {0, 0, 0, 0}, port: 4000],
check_origin: false,
code_reloader: true,
debug_errors: true,
secret_key_base: "sMkt7bFvk9nfxl1aQFarW14SeIrrsJMndMSVLW7EPchly5d0ltHXumd0StwKrwHs",
watchers: [
# Start the esbuild watcher by calling Esbuild.install_and_run(:default, args)
esbuild: {Esbuild, :install_and_run, [:default, ~w(--sourcemap=inline --watch)]}
]
サーバーを立ち上げてブラウザ上で表示されるか確認します。
mix phx.server
コンテナ内から抜けるには以下を入力します。(サーバーを立ち上げている場合は Ctr+C で止める)
exit
コンテナを停止したい場合は以下のコマンドを入力します。
docker-compose stop
このコンテナが不要になった場合は以下のコマンドを入力します。
docker-compose down