这篇具有很好参考价值的文章主要介绍了Docker-Dockerfile构建镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。
Dockerfile
是一个文本格式的配置文件, 用户可以使用
Dockerfile 来快速创建自定义的镜像,另外,使用
Dockerfile
去构建镜像好比使用
pom
去构建
maven
项目一样,有异曲同工之妙
构建基础镜像
centos
alpine
1.
空间大小差异,
alpine
默认
5M
左右,
centos
等都在
200M
左右。
2.
默认软件包差异,
alpine
选用
busybox
,
centos
等则是
bash+coreutils
几件套。
3.
alpine
中,国际化组件被优化掉了。
4.
还有一点,
alpine
中选用的都是
“
最简依赖
”
,这点和
archlinux
比较像,举个例子,
openssh
包不会自带
pam
插件,于是他也就不支持
ldap
。这点我给
alpinelinux
官方提过
issue
。和
php
不一样,
php
可以做成
php-pdo
,
php-dom
的包,然后动态加载共享库。
openssh
不行,
“
没带就是没写
”
。
5.
glibc
差异,
alpine
选用
musl
,
centos
等选用
glibc
,其他的倒还好,
libc
的差异对开发很重
要。
基本结构
Dockerfile
由一行行命令语句组成,并且支持以
#
开头的注释行。
一般的,
Dockerfile
分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。
准备工作
创建文件夹上传
jdk
的安装包
,
和在同级目录下编写
Dockerfile
文件
编写
Dockerfile
文件
FROM centos
MAINTAINER (邮箱名称)
WORKDIR /test
COPY spring.jar /test
ADD jdk-8u221-linux-x64.tar.gz /test
ENV JAVA_HOME=/test/jdk1.8.0_221
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
CMD java -jar spring.jar
如果仅仅是把本地的文件拷贝到容器镜像中,
COPY
命令是最合适不过的。其命令的格式
为:
COPY
<src> <dest>
ADD
命令的格式和
COPY
命令相同,也是:
ADD
<src> <dest>
区别:
ADD
解压压缩文件并把它们添加到镜像中
创建镜像
编写完成
Dockerfile
之后,可以通过
docker build
命令来创建镜像。
注
1
:
-t spring:v1
给新构建的镜像取名为
v1
注
2
:注意最后有个点,代表使用当前路径的
Dockerfile
进行构建
然后直接运行查看一下
镜像的上传
首先登录阿里云控制台搜索容器镜像服务ACR,选择个人版
先创建一个命名空间
再进行一个登录 先对镜像取个别名,再将想要推送的镜像换成阿里云的镜像
最后到阿里云查看我们的镜像
镜像的下载
首先删除原有的镜像
docker rmi registry.cn-hangzhou.aliyuncs.com/4502/order_service:v1
再对它进行下载文章来源:https://www.toymoban.com/news/detail-798746.html
文章来源地址https://www.toymoban.com/news/detail-798746.html
到了这里,关于Docker-Dockerfile构建镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!