🐳

環境構築の方法(docker)

2024/10/10に公開

docker基礎

そもそもdokcerとは

イメージ:自分のパソコンとは別に新しくパソコンを作ることができるもの

なぜ使うのか

ファイル自体がパソコンの役割をするので同じ記述のファイルを使用することで同じ環境でアプリケーションを開発できる

使うファイル

  • Dockerfile:青のクジラ

    イメージ:パソコン本体

  • docker-compose.yml:赤のクジラ

    イメージ:パソコンの管理者

環境構築編

【Dockerfile】

  • FROM

    イメージ:使いたい言語を選ぶ感じ

    #FROM 言語など:バージョン
    FROM python:3.11 
    FROM php:8.3
    FROM node:22.5
    
  • WORKDIR

    イメージ:「cd」コマンドみたいな感じ

    #WORKDIR /任意のパス(絶対パス)
    WORKDIR /app
    WORKDIR /workdir
    
  • COPY

    イメージ:自分のパソコン ➡︎ dockerのパソコン ファイルをコピーできる

    #COPY 自分のパソコンのパス dockerのパソコンのパス(絶対パス)
    COPY .
    COPY . /app
    COPY ./app /app
    

【docker-compose.yml】

docker-compose.ymlファイルの構造

#ここのservicesは必須
#インデントを開けることに注意しよう
services:
	任意のパソコン名:
		パソコンの設定
		パソコンの設定
		パソコンの設定
	
	任意のパソコン名:
		パソコンの設定
		パソコンの設定
		パソコンの設定
	
	任意のパソコン名:
		パソコンの設定
		パソコンの設定
		パソコンの設定
  • build

    イメージ:使いたいパソコンを選ぶ感じ

    services:
    	back-pc:
    		#build: Dockerファイルのパス
    		build: ./Dockerfile
    		build: ./pyton/Dockerfile
    
  • volumes

    イメージ:自分のパソコンとdockerのパソコンでファイルの状態を共有する感じ

    services:
    	back-pc:
    		#volumes:
    		#  - 自分のパソコンのパス:dockerのパソコンのパス
    		volumes:
    			- .:/app
    		volumes:
    			- ./app:/app
    			
    

【dokcer-composeコマンド】ターミナルで実行

  • docker-compose build

    イメージ:パソコンの起動

    docker-compose build
    
  • docker-compose run パソコン名 /bin/bash

    イメージ:パソコンの使用

    docker-compose run back-pc /bin/bash
    docker-compose run front-pc /bin/bash
    

アプリ起動編

【Dockerfile】

  • RUN

    イメージ:パソコンを起動した時にあらかじめ実行するコマンドを設定できる

    #RUN 実行したいコマンド
    RUN pip install django
    RUN pip install django-storages
    RUN pip install django-environ
    
  • EXPOSE

    イメージ:ポートにアクセスできるようにする

    #EXPOSE ポート番号
    EXPOSE 8000
    EXPOSE 3000
    EXPOSE 5173
    
  • CMD

    イメージ:パソコン起動時にアプリケーションを立ち上げる

    #CMD 使用したいコマンドをリスト形式で
    CMD ["python", "manage.py", "runserver"]
    CMD ["php", "artisan", "serve"]
    CMD ["npm", "run", "dev"]
    

【docker-compose.yml】

  • port: ポート

    イメージ:自分のパソコンのポートとdockerのパソコンのポートを繋げる

    services:
    	back-pc:
    		#ports:
    		# - 自分のパソコンのポート:dockerのパソコンのポート
    		ports:
    			- 8000:8000
    		ports:
    			- 3000:3000
    		ports:
    			- 5173:5173
    

【dokcer-composeコマンド】ターミナル

  • dokcer-compose up -d

    イメージ:アプリケーションの起動

    dokcer-compose up -d
    
  • dokcer-compose logs

    イメージ:ログの確認(エラーなど)

    dokcer-compose logs
    

Discussion