您的位置:首页 > 科技 > 能源 > 263企业邮箱的作用_58建筑人才招聘网_友情链接交换平台_打开百度一下你就知道

263企业邮箱的作用_58建筑人才招聘网_友情链接交换平台_打开百度一下你就知道

2024/12/22 1:21:49 来源:https://blog.csdn.net/m0_65152767/article/details/142533281  浏览:    关键词:263企业邮箱的作用_58建筑人才招聘网_友情链接交换平台_打开百度一下你就知道
263企业邮箱的作用_58建筑人才招聘网_友情链接交换平台_打开百度一下你就知道

文章目录

  • 1、dockerfile简介
  • 2、入门案例
    • 2.1、创建目录 /opt/dockerfilejdk17
    • 2.2、上传 jdk-17_linux-x64_bin.tar.gz 到 /opt/dockerfilejdk17
    • 2.3、在/opt/dockerfilejdk17目录下创建dockerfile文件
    • 2.4、执行命令构建镜像 centos7-jdk17 : 不要忘了后面的那个 .
    • 2.5、查看镜像是否建立完成
    • 2.6、创建 交互型 容器 atguigu-centos
    • 2.7、 查看 交互型 容器 atguigu-centos /usr/local/java 目录

1、dockerfile简介

前面我们所使用的镜像都是别人构建好的,但是别人构建好的镜像不一定能满足我们的需求(**例如:**部署springboot项目需要java环境),使用dockerfile构建自定义镜像就可以解决这个问题。

dockerfile就是一个文本文件,在这个文本文件中可以使用docker所提供的一些指令来配置构建镜像的细节,后期可以使用这个dockerfile文件来构建自己的镜像。

dockerfile文件内容一般分为4部分:

  • 基础镜像信息(必选)

  • 维护者信息(可选)

  • 镜像操作指令(可选)

  • 容器启动时执行的指令(可选)

常用指令:

指令用法作用
FROMFROM image_name:tag指定一个构建镜像的基础源镜像,如果本地没有就会从公共库中拉取,没有指定镜像的标签会使用默认的latest标签,可以出现多次,如果需要在一个dockerfile中构建多个镜像。
MAINTAINERMAINTAINER user_name描述镜像的创建者,名称和邮箱
RUNRUN “command” “param1” “param2”用来执行一些命令,可以写多条
ENVENV key value设置容器的环境变量,可以写多条。
ADDADD source_dir/file将宿主机的文件复制到容器内,如果是压缩文件,则复制后自动解压
ENTRYPOINTENTRYPOINT “command” “param1” “param2”用来指定容器启动时所执行的命令

2、入门案例

需求:使用dockerfile来构建一个包含Jdk17的centos7镜像

分析:

1、基础的镜像的应该选择centos:7

2、把Jdk17添加到centos:7的基础镜像中

3、配置全局环境变量方便在镜像中使用java命令

实现步骤:

1、将Jdk17的压缩包上传到linux服务器中

2、在Jdk17所在的目录下创建一个dockerfile文件

3、使用docker build命令构建镜像

4、使用docker images查看镜像构建情况

5、使用自己所构建的镜像创建容器,测试Jdk17的安装情况

2.1、创建目录 /opt/dockerfilejdk17

[root@localhost ~]# mkdir -p /opt/dockerfilejdk17
[root@localhost ~]# cd /opt/dockerfilejdk17/
[root@localhost dockerfilejdk17]# 

2.2、上传 jdk-17_linux-x64_bin.tar.gz 到 /opt/dockerfilejdk17

jdk17:https://www.oracle.com/java/technologies/downloads/
在这里插入图片描述

2.3、在/opt/dockerfilejdk17目录下创建dockerfile文件

[root@localhost dockerfilejdk17]# vim dockerfile
FROM centos:7
MAINTAINER atguigu
RUN mkdir -p /usr/local/java
ADD jdk-17_linux-x64_bin.tar.gz /usr/local/java/
ENV JAVA_HOME=/usr/local/java/jdk-17.0.8
ENV PATH=$PATH:$JAVA_HOME/bin
[root@localhost dockerfilejdk17]# ll
总用量 178108
-rw-r--r--. 1 root root       182 925 21:29 dockerfile
-rw-r--r--. 1 root root 182376116 810 2023 jdk-17_linux-x64_bin.tar.gz

2.4、执行命令构建镜像 centos7-jdk17 : 不要忘了后面的那个 .

[root@localhost dockerfilejdk17]# docker build -t centos7-jdk17 .
[+] Building 29.9s (8/8) FINISHED                                                                                                                                                docker:default=> [internal] load .dockerignore                                                                                                                                                          0.5s=> => transferring context: 2B                                                                                                                                                            0.1s=> [internal] load build definition from dockerfile                                                                                                                                       0.5s=> => transferring dockerfile: 274B                                                                                                                                                       0.1s=> [internal] load metadata for docker.io/library/centos:7                                                                                                                                6.1s=> [1/3] FROM docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4                                                                          0.1s=> => resolve docker.io/library/centos:7@sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4                                                                          0.0s=> => sha256:be65f488b7764ad3638f236b7b515b3678369a5124c47b8d32916d6487418ea4 1.20kB / 1.20kB                                                                                             0.0s=> => sha256:dead07b4d8ed7e29e98de0f4504d87e8880d4347859d839686a31da35a3b532f 529B / 529B                                                                                                 0.0s=> => sha256:eeb6ee3f44bd0b5103bb561b4c16bcb82328cfe5809ab675bb17ab3a16c517c9 2.75kB / 2.75kB                                                                                             0.0s=> [internal] load build context                                                                                                                                                          2.9s=> => transferring context: 182.41MB                                                                                                                                                      2.9s=> [2/3] RUN mkdir -p /usr/local/java                                                                                                                                                     1.4s=> [3/3] ADD jdk-17_linux-x64_bin.tar.gz /usr/local/java/                                                                                                                                17.9s=> exporting to image                                                                                                                                                                     2.2s=> => exporting layers                                                                                                                                                                    2.2s=> => writing image sha256:d4c53036ce375be152ed8efbd45ddf96e36108c5d3bc04fa9248dec7ebbaf374                                                                                               0.0s=> => naming to docker.io/library/centos7-jdk17  

2.5、查看镜像是否建立完成

在这里插入图片描述

2.6、创建 交互型 容器 atguigu-centos

[root@localhost dockerfilejdk17]# docker run -it --name atguigu-centos centos7-jdk17 /bin/bash
[root@3d4f93f7b804 /]# java -version
java version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)

2.7、 查看 交互型 容器 atguigu-centos /usr/local/java 目录

[root@localhost dockerfilejdk17]# docker run -it --name atguigu-centos centos7-jdk17 /bin/bash
[root@3d4f93f7b804 /]# java -version
java version "17.0.8" 2023-07-18 LTS
Java(TM) SE Runtime Environment (build 17.0.8+9-LTS-211)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+9-LTS-211, mixed mode, sharing)
[root@3d4f93f7b804 /]# cd /usr/local/java
[root@3d4f93f7b804 java]# ll
total 0
drwxr-xr-x. 9 root root 136 Sep 25 13:30 jdk-17.0.8
[root@3d4f93f7b804 java]# 

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com