一、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数据卷或者其他持久化方案。

猜你喜欢

转载自blog.csdn.net/haoyuxuanyuan/article/details/130157383