一、Docker 入门-制作hello docker镜像

介绍

     Docker是一个开源的容器化平台,可以让开发者将应用程序打包成轻量、可移植的容器中,以便在任何地方运行,无论是在本地开发机器上,还是在公共云、私有云或物理服务器上。使用Docker,开发者可以创建、运行和管理应用程序及其依赖项,同时还可以确保应用程序在不同环境中的一致性和可重复性。

Docker容器是一种轻量级的虚拟化技术,它在操作系统级别隔离了应用程序和其依赖项。与传统的虚拟机不同,Docker容器不需要启动整个操作系统,而只需要启动容器本身和它所依赖的一些组件,因此它们非常快速、高效、可移植和可扩展。

Docker由两个主要组件组成:Docker引擎和Docker镜像。Docker引擎是一个轻量级的运行时环境,可以在不同的平台上运行,包括Linux、Windows和MacOS等。Docker镜像是一个可执行的软件包,包含了运行应用程序所需的所有组件和依赖项,包括代码、库、运行时环境和配置文件等。Docker镜像可以在Docker Hub上找到,这是一个集中存储Docker镜像的公共注册表。

使用Docker,开发者可以将应用程序和它所依赖的所有组件打包成一个Docker镜像,然后将镜像部署到任何地方运行,无需担心环境配置和依赖项冲突等问题。此外,开发者可以使用Dockerfile文件定义镜像的构建规则和配置,以便自动化构建和部署过程。

制作镜像

安装docker

在CentOS中安装Docker有多种方式,以下是其中一种常用的方法:

1、更新系统包管理器

首先,运行以下命令来更新系统包管理器:

sudo yum update

2、安装Docker依赖包
运行以下命令来安装Docker所需的依赖包:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3、安装Docker CE
运行以下命令来安装Docker CE(社区版):

sudo yum install docker-ce docker-ce-cli containerd.io

4、启动Docker服务

运行以下命令来启动Docker服务:

sudo systemctl start docker

5、验证Docker安装

运行以下命令来验证Docker安装是否成功:

sudo docker run hello-world

如果一切正常,你应该能够看到类似以下输出的信息:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...

制作docker镜像

1、编写一个简单的Python应用程序:可以使用任何文本编辑器,例如Notepad、Sublime Text、VS Code等,编写一个简单的Python应用程序,例如:

# hello.py
print("Hello, Docker!")

2、创建Dockerfile:在与应用程序相同的目录中,创建一个名为Dockerfile的文件,并在其中定义Docker镜像的构建规则和配置。例如,下面是一个简单的Dockerfile:

FROM python:3.8-slim-buster

WORKDIR /app

COPY hello.py .

CMD [ "python", "./hello.py" ]

具体来说,该Dockerfile使用Python 3.8作为基础镜像,设置/app作为工作目录,将当前目录下的hello.py文件复制到/app目录中,并定义应用程序的入口点为hello.py文件。
3、构建Docker镜像:在应用程序目录中,打开终端或命令行界面,并输入以下命令以构建Docker镜像:

docker build -t myimage .

其中,-t参数用于给镜像命名,"."表示Dockerfile所在的当前目录。

4、运行Docker容器:使用以下命令运行Docker容器:

docker run myimage

运行后,你应该会看到输出"Hello, Docker!"。
5、 导出镜像

运行以下命令将myimage镜像导出为一个tar文件:

docker save -o myimage.tar myimage

这个命令将在当前目录下生成一个名为myimage.tar的文件,其中包含了myimage镜像的所有层和元数据。

6、拷贝镜像

将myimage.tar文件拷贝到其他机器或者是其他环境中。

7、导入镜像

运行以下命令将myimage.tar文件中的镜像导入到Docker守护程序中:

docker load -i myimage.tar

这个命令将在Docker守护程序的镜像库中导入myimage镜像,并使其可用于启动容器。

需要注意的是,导出和导入的镜像只包括了镜像的层和元数据,不包括容器的运行状态和数据。如果需要将容器的运行状态和数据保存下来,可以考虑使用Docker数据卷或者其他持久化方案。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

York·Zhang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值