- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2022-05-24T17:07:56+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イメージの save/load [#g5ecb731]
コンテナを停止する。
$ sudo docker stop developer-env
Dockerイメージをアーカイブしてsaveする。
$ sudo docker save debian:bullseye-ja | gzip > developer-env.tgz
Dockerイメージをloadする。
$ sudo docker load < developer-env.tgz
Dockerイメージの実行。
$ sudo docker run -d -it --name developer-env debian:bullseye-ja
実行中のコンテナ内でコマンドを実行する。
$ sudo docker exec -it developer-env bash
developer@66f0ee8dd742:~$
~
#htmlinsert(amazon_pc.html);