Docker의 Phoenix Framework
환경 등
Dockerfile과 docker-compose를 clone하여 build
git clone [email protected]:foxtrackjp/elixir_test.git
cd elixir_test
docker-compose build
Dockerfile은 이런 느낌
DockerfileFROM elixir:alpine
RUN mkdir /app
WORKDIR /app
RUN yes | mix local.hex
RUN yes | mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez
RUN mix local.rebar --force
RUN apk update && \
apk upgrade && \
apk add --update\
bash \
curl-dev \
git \
nodejs \
nodejs-npm \
&& rm -rf /var/cache/apk/*
alpine 베이스의 이미지가 있었으므로 이쪽을 이용했습니다. (빌드 후의 이미지는 150M 약 정도)
docker-compose는 이런 느낌
docker-compose.ymlversion: '3'
services:
db:
image: mysql:5.7.22
volumes:
- mysql:/var/lib/mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: gJwWACGZqaukCjL7
app:
build: .
tty: true
volumes:
- .:/app
ports:
- "80:80"
- "4000:4000"
command: mix phx.server
depends_on:
- db
volumes:
mysql:
driver: local
애플리케이션 만들기
docker-compose run app mix phx.new . --app sample --database mysql
Rails에서 말하면 rails new sample --database=mysql
DB 연결 정보 설정
생성된 응용 프로그램의 config/dev.exs
에 DB 연결 정보를 설정합니다.
dev.exsconfig :sample, Sample.Repo,
adapter: Ecto.Adapters.MySQL,
username: "root",
password: "gJwWACGZqaukCjL7", #ここ
database: "sample_dev",
hostname: "db",#ここ
pool_size: 10
DB 만들기
docker-compose run app mix ecto.create
Rails에서 말하면 Rails db:create
시작
docker-compose up
시작하면 서버가 시작되고 http://localhost:4000로 이동하여 환영 페이지가 표시되면 성공합니다.
Welcome 페이지
감상
git clone [email protected]:foxtrackjp/elixir_test.git
cd elixir_test
docker-compose build
FROM elixir:alpine
RUN mkdir /app
WORKDIR /app
RUN yes | mix local.hex
RUN yes | mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez
RUN mix local.rebar --force
RUN apk update && \
apk upgrade && \
apk add --update\
bash \
curl-dev \
git \
nodejs \
nodejs-npm \
&& rm -rf /var/cache/apk/*
version: '3'
services:
db:
image: mysql:5.7.22
volumes:
- mysql:/var/lib/mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: gJwWACGZqaukCjL7
app:
build: .
tty: true
volumes:
- .:/app
ports:
- "80:80"
- "4000:4000"
command: mix phx.server
depends_on:
- db
volumes:
mysql:
driver: local
docker-compose run app mix phx.new . --app sample --database mysql
Rails에서 말하면
rails new sample --database=mysql
DB 연결 정보 설정
생성된 응용 프로그램의 config/dev.exs
에 DB 연결 정보를 설정합니다.
dev.exsconfig :sample, Sample.Repo,
adapter: Ecto.Adapters.MySQL,
username: "root",
password: "gJwWACGZqaukCjL7", #ここ
database: "sample_dev",
hostname: "db",#ここ
pool_size: 10
DB 만들기
docker-compose run app mix ecto.create
Rails에서 말하면 Rails db:create
시작
docker-compose up
시작하면 서버가 시작되고 http://localhost:4000로 이동하여 환영 페이지가 표시되면 성공합니다.
Welcome 페이지
감상
config :sample, Sample.Repo,
adapter: Ecto.Adapters.MySQL,
username: "root",
password: "gJwWACGZqaukCjL7", #ここ
database: "sample_dev",
hostname: "db",#ここ
pool_size: 10
docker-compose run app mix ecto.create
Rails에서 말하면
Rails db:create
시작
docker-compose up
시작하면 서버가 시작되고 http://localhost:4000로 이동하여 환영 페이지가 표시되면 성공합니다.
Welcome 페이지
감상
docker-compose up
감상
Reference
이 문제에 관하여(Docker의 Phoenix Framework), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/foxtrackjp/items/bc74f64eae3ce33c8125텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)