docker hello world

ops/2025/1/19 12:18:35/

引言

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.ppmy.cn/ops/151378.html

相关文章

若依入门使用

若依使用 1.下载2.搭建环境2.1 若依框架的目录结构2.2 打开项目修改配置文件2.2.1 打开后端项目2.2.2 设置 Maven2.2.3 application-druid.yml文件2.2.4 application.yml文件 2.3 运行后台服务2.4 运行前台服务2.4.1 编译器打开前台项目2.4.2 项目初始化2.4.3 启动 3.使用3.1 菜…

LeetCode 383. 赎金信

在本篇博客中,我们将探讨LeetCode上的一个经典问题:383. 赎金信。这个问题考察了我们对字符串处理和字符计数的理解和应用。 问题描述 解题思路 这个问题可以通过字符计数的方法来解决。我们首先统计 magazine 中每个字符出现的次数,然后检…

【Linux】常见指令(一)

Linux常见指令 01.whoami02.pwd03.ls04.mkdir05.cd 本文LInux环境为,使用XShell远程登陆到Linux。 具体如何环境搭建,大家可以查看其他博客。 01.whoami whoami 指令用来查看当前账户是谁。 如上图所示,使用whoami指令,查看到现在…

Zookeeper 核心知识深度解析:从选主到部署

1.请简述Zookeeper的选主流程 Zookeeper 是一个用于维护配置信息、命名、提供分布式同步和组服务的工具。它在分布式系统中提供了强一致性,这得益于它的内部实现机制,其中包括选主流程(Leader Election)。以下是 Zookeeper 的选主…

【C#】将信息输出到 Visual Studio 的输出窗口的几个方式

在 WinForms 项目中,可以通过使用 System.Diagnostics.Debug 或 System.Diagnostics.Trace 类将信息输出到 Visual Studio 的输出窗口。这两者之间的主要区别在于,Debug 仅在调试模式下有效,而 Trace 则在调试模式和发布模式下都有效。 方法…

CUDA C 编程入门学习记录

这是本人21年读书时学习CUDA基础知识保留的一些笔记,学习时的内容出处和图片来源不记得了,仅作为个人记录! CUDA编程 host:主机端CPU device:设备端GPU kernels:核函数 global:定义一个kernel函数 入口函数,CPU调用&…

弱口令漏洞+文件上传漏洞

一、弱口令漏洞 (一)基本原理 1.弱口令:容易被别人猜到或破解的命令 2.常见弱口令: 3.漏洞利用:bp爆破 (二)工具使用 bp intruder的四个模块: 1.sniper:只攻击一个…

商城系统中的常见 BUG

以下是商城系统中一些常见的 BUG: 功能与操作类 支付问题:如无法成功完成支付,支付过程中出现延迟、错误或订单重复支付等,还可能因网络问题导致支付失败或数据不一致。 登录 / 注册问题:用户在注册或登录时可能遇到…