#author("2022-05-25T11:44:55+09:00","default:honma","honma") #author("2022-05-25T14:02:31+09:00","default:honma","honma") * Dockerで開発環境 [#rcafcf51] [[Docker Engine インストール(Debian 向け):https://matsuand.github.io/docs.docker.jp.onthefly/engine/install/debian/]]を参考に。 ** Dockerの準備 [#p7737d70] aptのパッケージインデックスを更新するための準備。 $ sudo apt-get update $ sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release Docker の公式 GPG 鍵を追加する。 $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 安定版(stable)リポジトリをセットアップする。 $ echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null Docker Engine をインストール。 $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin ** Dockerイメージの作成 [#f18eae1b] Dockerfileの作成、 $ mkdir developer-env $ cd developer-env $ nano Dockerfile 中身はこんな感じ FROM debian:bullseye ARG USERNAME=developer ARG GROUPNAME=developer ARG UID=1000 ARG GID=1000 RUN groupadd -g $GID $GROUPNAME && \ useradd -m -s /bin/bash -u $UID -g $GID $USERNAME # sudoを追加してルートになる RUN apt-get update && apt-get install -y sudo ARG PASSWORD=${USERNAME} RUN echo "${USERNAME}:${PASSWORD}" | chpasswd && \ echo "${USERNAME} ALL=(ALL) ALL" >> /etc/sudoers.d/${USERNAME} && \ chmod 0440 /etc/sudoers.d/${USERNAME} # 日本語関連のパーケージをインストール RUN apt-get install -y locales # ja_JP.UTF-8の行のコメントを解除 RUN sed -i -E 's/# (ja_JP.UTF-8)/\1/' /etc/locale.gen RUN locale-gen RUN update-locale LANG=ja_JP.UTF-8 # ロケールを日本語に設定する RUN update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja" && \ echo "export LANG=ja_JP.UTF-8" >> /home/$USERNAME/.bashrc USER $USERNAME WORKDIR /home/$USERNAME/ Dockerイメージの作成。 $ sudo docker build -t debian:bullseye-ja -f Dockerfile . Dockerイメージの実行。 $ sudo docker run -d -it --name developer-env debian:bullseye-ja 実行中のコンテナ内でコマンドを実行する。 $ sudo docker exec -it developer-env bash ** Dockerの export/import [#qf0b401f] ** Dockerイメージの save/load [#g5ecb731] コンテナを停止する。 $ sudo docker stop developer-env コンテナをアーカイブしてexportする。 Dockerイメージをアーカイブしてsaveする。 $ sudo docker export developer-env | gzip -c > developer-env.tgz $ sudo docker save debian:bullseye-ja | gzip > developer-env.tgz コンテナをimportする。 Dockerイメージをloadする。 $ sudo docker import developer-env.tgz $ sudo docker load < developer-env.tgz または、 Dockerイメージの実行。 $ sudo docker import http://example.com/exampleimage.tgz $ sudo docker run -d -it --name developer-env debian:bullseye-ja のような使い方もできる。 実行中のコンテナ内でコマンドを実行する。 $ sudo docker exec -it developer-env bash developer@66f0ee8dd742:~$ ~ #htmlinsert(amazon_pc.html);