Help us understand the problem. What is going on with this article?

dockerイメージを自作。docker公式のubuntuイメージにpython3.4を入れてビルドする

More than 1 year has passed since last update.

経緯

jenkinsで使用するCI用のツールに各種pythonのパッケージを入れる必要があった。
その中にpip3.6に対応していないものがあったりしたので、dockerで実行することにしました

1.公式サイトからベースになる docker imageをpullする

公式サイトにofficialで提供しているものも含めて、色々選ぶことが可能です。
https://hub.docker.com/_/ubuntu/

今回は 16.04にする必要があったので、以下のようにpullをします

docker pull ubuntu:16.04

2.Dockerfileを作成する

今回はpython3.4が必要だったので、公式から直接tgzを展開してpythonの導入をします。
この時にubuntu imageに主要のwgetなどが入っていないので先にapt-getで入れるようにします

FROM ubuntu:16.04

MAINTAINER yourname

RUN apt-get update -y && apt-get install -yq wget libssl-dev openssl build-essential gcc zlib1g-dev

WORKDIR /root/
RUN wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz \
        && tar zxf Python-3.4.3.tgz \
        && cd Python-3.4.3 \
        && ./configure \
        && make altinstall
ENV PYTHONIOENCODING "utf-8"

WORKDIR /

3.Docker buildをする

Dockerfileの存在する階層で以下のコマンドを実行します。
-t sampleでビルドするimageに名前を付与することができます。

docker build ./ -t sample

4.Docker runする

実際に作成したdockerを実行してみます

docker run -it sample /bin/bash

docker内にbashモードで入ることができれば完成です。

参考

公式サイト https://docs.docker.com/engine/reference/commandline/build/#build-with-url

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away