開始使用Docker:升空

以下文章我們會建立一個 ubuntu base image,打造我們需要的機器學習環境。
如果還不會一些 Docker 基礎指令的話,請參考上一篇:
開始使用Docker:試飛

首先,我們需要先建一個Dockerfile

$ mkdir ./User/username/Desktop/ML
$ vim Dockerfile
#Download base image ubuntu 16.04
FROM ubuntu:16.04
# Update Ubuntu Software repository
RUN apt-get update
# Install python3
RUN apt-get install -y software-properties-common vim
RUN add-apt-repository ppa:jonathonf/python-3.6
RUN apt-get update -y
RUN apt-get install -y build-essential python3.6 python3.6-dev python3-pip python3.6-venv && \
apt-get install -y git
# update pip
RUN python3.6 -m pip install pip — upgrade && \
python3.6 -m pip install wheel
$ docker build --tag jsml ./your/path/to/dockerfile/folder

現在,我們已經有了一個基於 Ubuntu 16.04 的環境,而且已經預先為你裝好 Python 3.6 & pip 18.1 !


如何把你的環境上傳到 Docker Hub 來給其他人 Pull 下來?

  1. 先檢查 image 的 id
    docker images
REPOSITORY           TAG       IMAGE ID         CREATED           SIZE
verse_gapminder_gsl latest 023ab91c6291 3 minutes ago 1.975 GB
verse_gapminder latest bb38976d03cf 13 minutes ago 1.955 GB
rocker/verse latest 0168d115f220 3 days ago 1.954 GB

2. Tag 你的 image

docker tag bb38976d03cf dockerhubusername/verse_gapminder:firsttry

3. Push 時你需要先放你的 dockerhub 帳號到/前方,
再放你的Repository到/的後方。

docker push yourhubusername/verse_gapminder

(必須要先放 docker hub 的帳號,不然會出現 request denied的錯誤)


如果我們需要儲存一些我們 pull, commit, built 的 image ,我們可以使用:
 docker save

比如說:
docker save verse_gapminder > verse_gapminder.tar

如果我們想要使用包好的 .tar 檔,我們可以使用:
docker load

比如說:
docker load --input verse_gapminder.tar


同場加映

這是在網路上有找到的一個打包好的 All-In-One 機器學習 Docker image,我們可以到以下網址馬上來開始使用!

https://github.com/ufoym/deepo