Alpine LinuxコンテナにpipでAnsibleをインストールする。

環境

  • Windows 10
  • Docker Desktop 2.2.0.5(43884)

手動の場合

Windows上で、docker run

> docker container run -it alpine /bin/ash

コンテナ上で、諸々インストール。必要パッケージは手探りでトライ&エラーしました。

# apk add python3 gcc musl-dev python3-dev libffi-dev openssl-dev
# pip3 install pip --upgrade pip
# pip3 install ansible

Dockerfileの場合

Windows上に、下記内容でDockerfileという名前のファイルを作成する。

FROM alpine

RUN apk add python3 gcc musl-dev python3-dev libffi-dev openssl-dev
RUN pip3 install pip --upgrade pip
RUN pip3 install ansible

Dockerfileを作成したフォルダに移動してビルドする。

> docker build .

イメージができていることを確認。

> docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
<none>              <none>              0e27807de568        7 seconds ago       359MB

実際に中身を確かめて、Ansibleが導入されていることを確認。

> docker run 0e27807de568 ansible --version
ansible 2.9.7
  config file = None
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/   plugins/modules']
  ansible python module location = /usr/lib/python3.8/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.8.2 (default, Feb 29 2020, 17:03:31) [GCC 9.2.0]