Docker

Docker on Apple Silicon Mac

February 14, 2023
Apple Silicon M1, Docker, Container

How to run Docker on Apple Silicon Mac # Install Rosetta # % softwareupdate --install-rosetta --agree-to-license Enable Rosetta # Open Docker Desktop Extensions ︙ > Settings > Features in development Check Use Rosetta for x86/amd64 emulation on Apple Silicon docker run # Add the following option to docker run command. --platform linux/x86_64 docker-compose.yml # Add platform under container name. platform: linux/amd64

Docker

January 1, 2020
Docker, Container

Docker # Dockerfile # command description FROM ビルドするイメージのベースイメージ RUN イメージをビルドする際、コンテナで実行するコマンドを定義 COPY ホスト側からコンテナ側にファイルやディレクトリをコピー ADD COPY の機能に加え、アーカー部の自動展開やURLを指定してファイルやディレクトリをコンテナに追加。OSのベースイメージ作成時のような特殊なケースで活用 CMD コンテナがフォアグラウンドで実行するコマンドを定義 ENTRYPOINT コンテナを実行可能ファイルとして使用する際に定義する際に定義するコマンド。CMD と ENTRYPOINT は併用可能 ARG docker image build 時に利用する変数 ENV コンテナ内の環境変数を定義 EXPOSE コンテナが公開するポート VOLUME ホストや他のコンテナからマウントできるポイントを作成 LABEL イメージに追加するメタデータ STOPSIGNAL コンテナに送られて終了するシステムコール信号を設定 HEALTHCHECK コンテナ内でコマンドを実行し、その結果をヘルスチェック(死活監視)として利用 USER コンテナ実行時のコンテナユーザー。イメージビルド時、USER 定義後の RUN もそのユーザーで実行される WORKDIR コンテナ内の作業ディレクトリ ONBUILD コンテナ内で実行するコマンドを定義するが、定義したイメージでは実行されない。ONBUILD を定義したベースイメージを利用するイメージのビルド時に実行される Image # Dockerfile から Docker イメージをビルド # $ docker image build [options] (Dockerfileを配置したディレクトリのパス|URL) Docker Hub にホストされている Docker イメージを検索 # $ docker search [options] 検索キーワード Inspection # Get instance’s information # $ docker inspect <CONTAINER ID|NAME> Get an instance’s IP address # $ docker inspect --format='{{range . ...

Docker Compose

January 1, 2020
Docker Compose, Docker, Container

Docker Compose # Basic operation # Run containers # カレントディレクトリの docker-compose.yml に記載したコンテナ群を起動 初回起動時にコンテナ群をつなぐユーザー定義・ブリッジ・ネットワークも自動生成 フォアグラウンドモードで起動する場合(ターミナルにコンテナログを出力) $ docker compose up バックグラウンドモードで起動する場合 $ docker compose up -d Stop containers # フォアグラウンドモードで起動した場合 ターミナルで Ctrl+C 押下 バックグラウンドモードで起動した場合 $ docker compose stop Rebuild an image # $ docker compose build Remove containers and networks # $ docker compose down Stop and remove all (containers, images, volumes, networks) 滅びの呪文 # docker compose down --rmi all --volumes --remove-orphans

Docker Swarm

January 1, 2020
docker swarm, docker stack, Docker, Container

Docker Swarm # Swarm クラスタを初期化 # docker swarm init [options] Swarm クラスタに node もしくは manager を追加 # docker swarm join [options] managerホスト:ポート Swarm クラスタから node もしくは manager を離脱 # docker swarm leave [options] Swarm クラスタに Stack をデプロイ # docker stack deploy [options] Stack名 Swarm クラスタにデプロイされている Stack 一覧を表示 # docker stack (ls|list) [options] Stack 内で実行されているタスクを表示 # docker stack ps [options] Stack名 Swarm クラスタからStackを削除 # docker stack (rm|remove|down) [options] Stack名... Stack 内のService一覧を表示 # docker stack services [options] Stack名