微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Dockerfile

一.说明

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。

  1. 对于开发人员:可以为开发团队提供一个完全一致的开发环境。
  2. 对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作。
  3. 对于运维人员:在部署时,可以实现应用的无缝移植。

二.常用指令

命令作用
FROM image_name:tag定义了使用哪个基础镜像启动构建流程
MAINTAINER user_name声明镜像的创建者
ENV key value设置环境变量(可以写多条)
RUN command是Dockerfile的核心部分(可以写多条)
ADD source_dir/file dest_dir/file将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
copY source_dir/file dest_dir/file和ADD相似,但是如果有压缩文件并不能解压
workdir path_dir设置工作目录

三.使用脚本创建镜像

3-1.构建jdk镜像

1.步骤

1.创建文件夹用于存储镜像相关的资源。【请看导入jdk指令和创建文件夹】

2.存储jdk的压缩包。【请看导入jdk指令和创建文件夹】

3.编译Dockerfile文件并保存。【请看Dockerfile文件编写】

4.构建镜像。【请看docker构建镜像】

2.导入jdk指令和创建文件

#创建文件夹
mkdir -p /usr/local/dockerjdk8
#将上传的jdk8移动到/usr/local/dockerjdk8
mv jdk-8u271-linux-x64.tar.gz /usr/local/dockerjdk8
#移动到/usr/local/dockerjdk8文件夹
cd /usr/local/dockerjdk8
#创建一个Dockerfile文件并编译
vi Dockerfile

3.Dockerfile文件编写内容

FROM centos:7
MAINTAINER xiaodenglong
workdir /usr
RUN mkdir /usr/local/java
ADD jdk-8u271-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLAsspATH $JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLAsspATH
ENV PATH $JAVA_HOME/bin:$PATH

4.docker构建镜像的指令

#build是构建,-t设置镜像名称,./指的是Dockerfile的所在目录
docker build -t='jdk1.8' ./

5.范例

(1)创建文件夹和创建Dockerfile

图片

(2)编译Dockerfile

图片

(3)构建镜像

图片

3-2.docker私有仓库

1.拉取私有仓库镜像

docker pull registry

2.启动私有仓库容器

docker run -di --name=registry -p 5000:5000 registry

3.验证私有仓库搭建是否成功

打开浏览器输入地址http://192.168.8.154:5000/v2/_catalog看到{"repositories":[]}表示私有仓库搭建成功并且内容为空

4.修改daemon.json

vi /etc/docker/daemon.json

5.添加以下内容,保存退出。【设置docker信任私有仓库】

{"insecure-registries":["192.168.8.154:5000"]}

此步用于让docker信任私有仓库地址。

6.重启docker服务

systemctl restart docker

7.范例

(1)安装私有仓库的镜像

图片

(2)验证私有仓库的安装

图片

(3)使docker信任私有仓库

图片

图片

图片

3-3.私有仓库上传镜像

1.设置指定地址为jdk镜像的访问地址

docker tag jdk1.8 192.168.8.154:5000/jdk1.8

2.上传jdk1.8到私有仓库

docker push 192.168.8.154:5000/jdk1.8

3.范例

图片

图片

4.细节

图片

四.相关资源

链接https://pan.baidu.com/s/14tliJjrcb7VwsQXicuXzKw

提取码:1sup

复制这段内容后打开百度网盘手机App,操作更方便哦

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐