Docker 基本操作編
#Web開発
#docker
Dockerfileとアプリコード作成
main.rb
code:main.rb
require 'webrick'
server = WEBrick::HTTPServer.new(
DocumentRoot: './',
BindAddres: '0.0.0.0',
Port: 8000
)
server.mount_proc('/') do |req, res|
res.body = 'hello'
end
server.start
Dockerfile
code:Dockerfile
ROM ruby:2.7
RUN mkdir /var/www
COPY main.rb /var/www
CMD "ruby", "/var/www/main.rb"
イメージのビルド
$ docker image build -t sample/webrick:latest .
-t はタグ付けを行うオプション [name-space/image-name:version]
Dockerイメージの確認
$ docker image ls
Docker コンテナの起動
$ docker container run -p 8000:8000 --name webrick sample/webrick:latest
-pはポートフォワーディング
--nameはコンテナ名をつけるオプション
最後は引数で起動するイメージを選択する
-dでバックグラウンドで起動可能
Docker コンテナの確認
$ docker container ls -a
Dockerコンテナの停止・削除
$ docker container stop webrick
$ docker container rm webrick
webrickは今回のコンテナ名
Dockerコンテナよく使うコマンド
ログ確認
$ docker container logs webrick
コンテナ内のコマンド実行 (ruby のバージョン確認)
$ docker container exec webrick ruby -v
イメージ・コンテナのクリーン (使ってないものを全て消去。ひとつずつ消した方がいいかも)
$ docker system prune -a
Docker compose
$ docker compose up -d --build
Docker のService環境内でコマンドを実行する
$ docker-compose run --rm searvice operasions .
例) docker-compose run --rm frontend npx create-next-app .
-dと--buildの説明
$ docker compose down