LoginSignup
0
0

Docker ポイント

Last updated at Posted at 2024-06-24

参考動画
https://www.youtube.com/watch?v=lZD1MIHwMBY&t=4506s

【Dockerfile作成】
①Dockerイメージを作成する(docker image build -t sample/santra:latest .)
①Dockerコンテナを起動させる
②Dockerコンテナに入る
③ライブラリのインストールやアプリケーションを動かす
④ ③でうまくいったコマンドをDockerファイルに記述する
⑤④のために作成したDockerイメージを削除する(docker container rm コンテナ名)

#①最初にrubyのバージョンを指定する
FROM ruby:2.7


#②作業ディレクトリを指定する。どこでもいい。
#ディレクトリがない場合は作成してくれる。
WORKDIR /var/www

#③作業ディレクトリの中にソースをコピーする
COPY ./src /var/www

RUN bundle config --local set path 'vendor/bundle'
RUN bundle install
RUN gem install rackup
RUN bundle add rackup

#④コマンド記載。最初にbashを起動してDockerを起動させる。
CMD ["bundle","exec","ruby","app.rb"]

コマンド ・docker container rum

【オプション】
・インタラクティブモードでDockerを起動 → -it
・ポート番号指定:-p
・コンテナ名指定:--name
・Dockerとローカルのソース同期:-v ${PWD}/src:/var/www ((ローカル):(Docker))
→これをしていないと、アプリケーションコードを修正したときに毎度イメージを作り直さなければ反映されなくなってしまう。

docker container run -it -p "ポート番号 XXXX(ローカル):XXXX(Docker)" --name "コンテナ名" -v ${PWD}/src:/var/www sample/sinatra:latest(イメージ名)

コマンド docker container rm コンテナ名

【エラー解消】

● Dockerイメージ作成ができない

XXXX~$ docker image build -t sample/sinatra:latest .

The command 'docker' could not be found in this WSL 2 distro.
We recommend to activate the WSL integration in Docker Desktop settings.

For details about using Docker Desktop with WSL 2, visit:

https://docs.docker.com/go/wsl2/

<解決方法>
Docker DesktopでUbuntuを有効にする
https://qiita.com/chovin/items/3057b35b776f70c3bcb5

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0