安裝docker
安裝docker方式有很多種。
我宿主機系統是linuxMint18,基於Ubuntu16.4,直接下載docker的deb安裝文件進行安裝。
當時遇到問題Depends: libseccomp2 (>= 2.3.0)
解決方案:
sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
sudo apt-get update
sudo apt-get install -y libltdl7 libseccomp2
鏡像加速
docker使用加速器可以提升獲取Docker官方鏡像的速度
我使用的是阿里鏡像,跳轉到鏡像加速器標籤頁,按頁面指導操作就可以了。
通用Ubuntu鏡像
我構建了一個通用的Ubuntu鏡像,其他的鏡像都基於該鏡像構建。
該鏡像主要做以下幾件事:
- 切換軟件源為網易的軟件源,加快軟件安裝速度。
- 安裝wget,我一般是wget下載。
- gosu,gosu是docker推薦的用於替換sudo命令的工具,可以切換到非root用户執行應用。
準備一個sources.list
deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
下載
gosu-amd64,gosu-amd64.asc
編寫Dockerfile如下
FROM ubuntu:16.04
COPY gosu-amd64 /usr/local/bin/gosu
COPY gosu-amd64.asc /usr/local/bin/gosu.asc
COPY sources.list /etc/apt/sources.list
RUN apt-get update && apt-get install -yqq wget
RUN cd /usr/local/bin && gpg --batch --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys \
&& chmod +x /usr/local/bin/gosu \
&& gosu nobody true
構建
sudo docker build -t bin/ubuntu:16.04 .
構建JDK8鏡像
後面構建docker鏡像經常要用到jdk,這裏先構建一個JDK8鏡像
- 下載jdk-8u221-linux-x64.tar.gz
- 編寫Dockerfile
FROM bin/ubuntu:16.04
WORKDIR /usr/lib
COPY jdk-8u221-linux-x64.tar.gz .
RUN tar -xzf jdk-8u221-linux-x64.tar.gz && rm jdk-8u221-linux-x64.tar.gz
ENV JAVA_HOME /usr/lib/jdk1.8.0_221
ENV JRE_HOME ${JAVA_HOME}/jre
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV PATH $PATH:/usr/lib/jdk1.8.0_221/bin
構建
sudo docker build -t bin/jdk:8u221 .
如果您覺得本文不錯,歡迎關注我的微信公眾號,您的關注是我堅持的動力!