Dockerの仕様。
Dockerfile(アプリコード・ライブラリー・ベースイメージ)
↓(作成)
イメージ
↓(作成・起動)
コンテナ
イメージを作成・作るコマンド
docker image build -t sample/webrick:latest .
-t はタグの名前をつける。今回はsample/webric
:latest はバージョン情報
. は今いるディレクトリ
イメージができたか確認コマンド
docker image ls
コンテナの作成・起動コマンド
docker container run
今回はこちらのコマンドでやった。
docker container run -p 8000:8000 --name webrick sample/webrick:latest
-p 8000:8000 はポート番号の指定。
ローカルの8000ポートをdockerの8000ポートに接続するよー。
—name webrick コンテナの名前
sample/webrick:latest イメージの名前とバージョンを追記
コンテナの起動状況の確認コマンド
docker container ls
起動中であれば以下のように出てくる。
******-mbp:docker eryumeng$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87760adc745a sample/webrick:latest "ruby /var/www/main.…" 39 hours ago Up 39 hours 0.0.0.0:8000->8000/tcp webrick
******-mbp:docker eryumeng$
また起動中のも停止中のも確認するならば、
docker container ls -a
コンテナの停止
docker container stop webrick ///webrickはコンテナの名前
コンテナ削除
docker container rm webrick ///webrickはコンテナの名前
ログを確認
docker container logs webrick ///webrickはコンテナの名前
起動中に他のコマンドを使用したい時
docker container exec webrick ruby -v ///webrickはコンテナの名前・またruby -vを使用。
使用していないコンテナの削除
docker system prune -a //今使っていないものを一気に削除
Dockerfile
CMD [ "/bin/bash" ]
コンテナ起動(あと色々)
docker container run -it -p 4567:4567 --name sinatra -v ${PWD}/src:/var/www sample/sinatra:latest
-it は上記のCMD [ "/bin/bash" ]を実行するために。
${PWD}/src:/var/www こちらをしないと新しくファイルが作られた時に、もう一度イメージから作成しないといけなくなる。またリアルタイムでファイルの変更が見られる
src/var/wwwを参照しますよーと言っている。
上記のならないように。
Dockerfile
FROM ruby:2.7
WORKDIR /var/www
COPY ./src /var/www
RUN bundle config --local set path 'vendor/bundle'
RUN bundle install
CMD ["bundle","exec", "ruby", "app.rb"]
イメージを作り。
docker image build -t sample/sinatra:latest .
コンテナ起動とローカルサーバー起動
docker container run -p 4567:4567 --name sinatra -v ${PWD}/src:/var/www sample/sinatra:latest
学んだことで次はDockerでRailsを構築していきまーす。
今回はここまで。
ありがとうございました。