すでに解決されているかもしれませんが、2点質問があると思うので順番に回答します。
downするとコントローラやモデルのコードが消えるかどうか
質問文のリンク先にあった、以下のdocker-compose.yml
の設定がされているものと仮定します。
yml
1version: '3'
2services:
3 db:
4 image: mysql:5.7
5 volumes:
6 - ./src/db/mysql_data:/var/lib/mysql
7 environment:
8 MYSQL_ROOT_PASSWORD: root
9 MYSQL_DATABASE: root
10 ports:
11 - "3306:3306"
12
13 web:
14 build: .
15 command: rails s -p 3000 -b '0.0.0.0'
16 volumes:
17 - ./src:/app_name
18 ports:
19 - "3000:3000"
20 links:
21 - db
この場合、web
がRailsコンテナだと思うのですが、volumes
オプションでホストマシンの./src
ディレクトリをコンテナの/app_name
にマウントしています。
この設定をしている場合は、docker-compose down
をしても、./src
ディレクトリの内容はホストマシンに残るので消えることはありません。
Railsのコントローラーやモデルのコードがこのディレクトリに入っているのであれば、コンテナを落としても消えることはないです。
逆に言うと、コンテナの/app_name
ディレクトリ以外のファイルを編集(コンテナ内でvi[m]で編集するとか)した場合は、コンテナを落とすとその編集内容は消えてしまいます。
Docker、ボリューム(Volume)について真面目に調べた - Qiita
Docker上でRailsの開発を進め方
Dockerを導入しているのであれば、
docker-compose up
でコンテナを立ち上げる
- ホストマシン上でお好みのエディタでコードを編集・動作確認
- 開発が終わったら
docker-compose down
でコンテナを落とす
という流れでいいかと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/19 06:38 編集
2020/02/19 10:20
2020/02/19 13:35