Dockerで開発環境

Docker Engine インストール(Debian 向け)を参考に。

Dockerの準備

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イメージの作成

Dockerfileの作成、

$ mkdir developer-env
$ cd developer-env
$ nano Dockerfile

中身はこんな感じ

FROM ubuntu:18.04

ARG USERNAME=hoge
ARG GROUPNAME=hoge
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 language-pack-ja-base language-pack-ja

# ロケールを日本語に設定する
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 ubuntu:test -f Dockerfile .

Dockerイメージの実行。

$ sudo docker run -d -it --name developer-env ubuntu:test

実行中のコンテナ内でコマンドを実行する。

$ sudo docker exec -it ubuntu-test bash

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS