当前位置: 首页 > article >正文

docker hello world

引言

Docker是一个容器化平台,能够把应用程序及其依赖打包在一个容器中,让容器在任意地方运行。最近刚了解了Docker,自己动手操作了下,做个记录,也希望可以帮助到刚学习Docker的小伙伴。

本文中已使用管理员模式,自行操作时若权限不够请在文中命令前加上 sudo  

下载好Docker后输入 docker version 如图即安装成功。

(只有Client 无Server是Docker没有启动,使用service docker restart命令启动即可)

一、输出hello world

1、查看当前本地镜像  docker images,可以看到目前只有一个镜像。

2、使用 docker pull hello-world 来拉取hello-world镜像

3、此时在使用 docker images 查看本地镜像,会发现多了一个hello-world镜像

4、使用 docker run hello-world 来运行镜像,如图便运行成功。

二、自己动手写一个镜像

1、需要一个jar包,使用IDEA创建一个Spring boot项目,随便输出一句话,install打成jar包,jar包生成在target目录下。

2、把jar包拉到一个空的文件夹中

3、在文件夹中使用 vim Dockerfile 命令创建一个Dockerfile文件(名字不能出错),在文件中输入以下内容。记得将jar包名改成自己的jar包名,按 ESC后输入:wq! 保存。

FROM openjdk             #表示该镜像基于 jdk构建
COPY demo-0.0.1-SNAPSHOT.jar /                   #将jar包复制到根目录下
CMD ["java","-jar","/demo-0.0.1-SNAPSHOT.jar"]              #使用java -jar 命令执行jar包  

    FROM openjdk
    COPY demo-0.0.1-SNAPSHOT.jar  /
    CMD ["java","-jar","/demo-0.0.1-SNAPSHOT.jar"]

4、使用 docker bulid -t hello . 来构建镜像, hello为命名的构建后镜像名, . 表示构建在此目录下,如图则构建成功。

注:此处构建时之前遇到了一个问题为如下报错:

error pulling image configuration: download failed after attempts=6: dial tcp 52.58.1.161:443: i/o timeout     

报错为下载镜像配置错误,超时。原因好像为国外镜像地址不可用了。

解决办法:自己配置镜像地址。

到 /etc/docker 下 看有无 daemon.json 文件  没有就自己创建一个

在文件中加入以下内容:

    {
        "registry-mirrors": [
            "https://docker.m.daocloud.io",
            "https://dockerproxy.com",
            "https://docker.mirrors.ustc.edu.cn",
            "https://docker.nju.edu.cn"
        ]
    }
     

依次执行 systemctl daemon-reload           systemctl   restart docker       命令

重新  docker build  -t  报错解决

5、使用docker images 可以看到刚刚构建的 hello 镜像。

6.使用 docker run hello 命令来 运行容器


http://www.kler.cn/a/507185.html

相关文章:

  • 【力扣Hot 100】普通数组1
  • 浅谈云计算20 | OpenStack管理模块(下)
  • 卷积神经05-GAN对抗神经网络
  • vue3+elementPlus之后台管理系统(从0到1)(day1)
  • 如何有效防止和解决IP劫持问题
  • 在VS2022中用C++连接MySQL数据库读取数据库乱码问题
  • leetcode 115. 不同的子序列
  • JWT在线解密/解码 - 加菲工具
  • 【人工智能】Python中的自动化机器学习(AutoML):如何使用TPOT优化模型选择
  • 【MySQL实战】mysql_exporter+Prometheus+Grafana
  • 关于jwt和security
  • java day04-面向对象基础(内存 封装 继承 修饰符 工具类 )
  • 【Excel笔记_3】execl的单元格是#DIV/0!,判断如果是这个,则该单元格等于空
  • SAP -最简单smartforms打印保存到本地pdf方法
  • PostCSS安装与基本使用?
  • Java冒泡排序算法之:变种版
  • Require:利用MySQL binlog实现闪回操作
  • 国产化板卡设计原理图:2295-基于 JFM7K325T的半高PCIe x4双路万兆光纤收发卡
  • Django框架:python web开发
  • 深度学习超参数调优秘籍:解锁模型的最佳性能
  • Vue2中使用正则表达式限制输入框输入
  • G1原理—6.G1垃圾回收过程之Full GC
  • 面试反馈流程及模版
  • 【算法】枚举
  • Hive SQL必刷练习题:留存率问题
  • ffmpeg硬件编码