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

 再对它进行下载

相关推荐

  1. docker】使用 Dockerfile 构建镜像

    2024-01-16 16:14:02       63 阅读
  2. Docker笔记:关于Dockerfile构建镜像

    2024-01-16 16:14:02       64 阅读
  3. Docker 使用DockerFile构建Nodejs服务镜像

    2024-01-16 16:14:02       61 阅读
  4. Docker 项目如何使用 Dockerfile 构建镜像

    2024-01-16 16:14:02       47 阅读
  5. Docker镜像】Node.js项目之使用Dockerfile构建镜像

    2024-01-16 16:14:02       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-16 16:14:02       106 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-16 16:14:02       116 阅读
  3. 在Django里面运行非项目文件

    2024-01-16 16:14:02       95 阅读
  4. Python语言-面向对象

    2024-01-16 16:14:02       103 阅读

热门阅读

  1. ChatGPT4.0 >ChatGPT 3.5 > 文心一言

    2024-01-16 16:14:02       58 阅读
  2. Qemu 之安装(源码安装)

    2024-01-16 16:14:02       57 阅读
  3. 2024年1月15日

    2024-01-16 16:14:02       46 阅读
  4. Vue3使用tinymce的配置和坑

    2024-01-16 16:14:02       45 阅读
  5. Shell编程自动化之if、for、while和函数

    2024-01-16 16:14:02       56 阅读