安装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镜像,其他的镜像都基于该镜像构建。

该镜像主要做以下几件事:

  1. 切换软件源为网易的软件源,加快软件安装速度。
  2. 安装wget,我一般是wget下载。
  3. 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-amd64gosu-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镜像

  1. 下载jdk-8u221-linux-x64.tar.gz
  2. 编写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 .

如果您觉得本文不错,欢迎关注我的微信公众号,您的关注是我坚持的动力!


binecy
49 声望18 粉丝