安装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
编写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 .
如果您觉得本文不错,欢迎关注我的微信公众号,您的关注是我坚持的动力!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。