docker构建镜像

本文介绍了如何获取和构建Docker基础镜像。首先,可以通过Docker官网搜索并下载已有镜像,如g++。其次,如果找不到合适的镜像,可以自定义Dockerfile来构建,例如创建一个包含centos7.6、jdk1.8和python3.6.9的镜像。具体步骤包括编写Dockerfile,设置环境变量,安装软件,最后通过docker build命令构建镜像。
摘要由CSDN通过智能技术生成

构建基础镜像有两种方式,第一种是直接去docker官网下载对应镜像(并没有构建),第二种是自己手动构建。
1、一般首先在docker官网寻找自己需要环境的镜像:https://hub.docker.com/search/ 如下图:

此处以g++为例,根据搜索结果查找选择适合自己的镜像,然后点击进去:
在这里插入图片描述

然后复制右边的命令,并在本地可联网已装docker的Linux机器上执行,然后docker image ls查看pull下来的镜像,然后执行docker save -o 要保存的文件名 要保存的镜像,注意要保存的文件名大多数情况下是tar包。

2、如果在上述过程中没有找到自己想要的镜像,则可以选择自己写Dockerfile文件自己构建。如我要构建一个centos7.6环境的,有jdk1.8、python3.6.9、g++的镜像,则下载好jdk1.864位Linux的包,然后在本地执行如下:

mkdir Dockerfile && cd Dockerfile && vim Dockerfile
FROM centos:7.6.1810
MAINTAINER Madclear

ADD jdk-8u291-linux-x64.tar.gz /usr/local/java

ENV JAVA_HOME /usr/local/java/jdk1.8.0_181
ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin

ENV PATH $PATH:/usr/local/python3/bin/
ENV PYTHONIOENCODING utf-8
RUN set -ex \
	&& mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup \
	&& curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo \
	&& yum makecache \
	&& sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo \
	&& yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel tcl gcc gcc-c++ automake autoconf libtool vim net-tools unzip zip make wget \
        && chmod +x /etc/rc.d/rc.local \
	&& yum clean all \
	&& mkdir /usr/local/python3 \
	&& wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tar.xz \
	&& tar -xvJf  Python-3.6.9.tar.xz && rm -f Python-3.6.9.tar.xz \
	&& cd Python-3.6.9 \
	&& ./configure prefix=/usr/local/python3 \
	&& make && make install \
	&& cd .. \
	&& rm -rf Python-3.6.9
CMD ["/bin/bash"]

然后执行

docker build -t jdkpyg:v1 . && docker image ls
docker save -o jdkpyg.tar jdkpyg
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Madclear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值