改めて、docker環境の構築

普段はUbuntu 20.04LTSを使用しているのですがUbuntu 18.04LTSの環境が必要になったのでdockerで環境を整備した。

dockerリポジトリのダウンロード

$ docker pull ubuntu:18.04

Dockerfileの準備

docker上でYocto Projectをビルドするためにlocaleを"en_US.UTF-8"に設定する。

また、docker上ではホストのユーザーを使用することと、パッケージをインストールすることもるので”sudo"コマンドのインストールとユーザー("hidemi")に"sudo"コマンドでパスワード無しの設定を盛り込んだ。

FROM ubuntu:18.04
MAINTAINER hidemi <hidemi@aquaxis.com>

# apt update
RUN apt-get update
RUN apt-get install -y sudo

RUN echo 'hidemi ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

RUN apt-get install -y locales
RUN locale-gen en_US.UTF-8  
ENV LANG en_US.UTF-8  
ENV LANGUAGE en_US:en  
ENV LC_ALL en_US.UTF-8

dockerリポジトリの再作成

Dockerfileを使用してイメージを再作成する。

$ docker build -t utemp:18.04 .
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
utemp               18.04               628fb82af408        About an hour ago   115MB
ubuntu              18.04               56def654ec22        4 weeks ago         63.2MB

dockerコンテナの起動

次のようにdockerを起動する。

起動する際にホストのhome、/etc/passwd、/etc/groupをマウントする。

$ docker run -v /home/hidemi:/home/hidemi -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro -it -d --name u1804 --user 1000 utemp:18.04

起動して"docker ps"でdockerの状態を確認することができる。

$ docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
7044df6ccdd8        utemp:18.04         "/bin/bash"         2 hours ago         Up 2 hours                              u1804

dockerでコマンドの実行

次のようにdockerでコマンドを実行する。

$ docker exec -it u1804 /bin/bash

dockerの起動と停止

dockerの起動

$ docker start u8604

dockerの停止

$ docker stop u8604

dockerコンテナの削除

dockerのコンテナが必要なくなったらコンテナを削除します。

$ docker rm u1804

dockerリポジトリの削除

dockerのリポジトリが必要なくなったらリポジトリを削除します。

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
utemp               18.04               628fb82af408        About an hour ago   115MB
ubuntu              18.04               56def654ec22        4 weeks ago         63.2MB
$ docker rmi 628fb82af408
write: 2020/10/26/ 15:03:49