✍面向读者:所有人
✍所属专栏:Docker零基础入门教程
Docker 是一组平台即服务 (PaaS) 产品,它使用操作系统级虚拟化以称为容器的包形式交付软件。容器之间相互隔离,并捆绑自己的软件、库和配置文件;他们可以通过明确的渠道相互沟通。所有容器都由单个操作系统内核运行,因此比虚拟机使用更少的资源。
Docker容器和虚拟机的区别
1.Docker容器
- Docker 容器包含二进制文件、库和配置文件以及应用程序本身。
- 它们不包含每个容器的来宾操作系统,而是依赖于底层操作系统内核,这使得容器变得轻量级。
- 容器与同一主机操作系统中的其他容器共享资源,并提供操作系统级别的进程隔离。
- 虚拟机
- 虚拟机 (VM) 在虚拟机管理程序上运行,虚拟机管理程序允许多个虚拟机及其自己的操作系统在一台计算机上运行。
- 每个虚拟机都有自己的操作系统副本以及应用程序和必要的二进制文件,这使得虚拟机变得更大并且需要更多资源。
- 它们提供硬件级进程隔离,并且启动速度较慢。
Docker 中的重要术语
1.Docker镜像(Docker Image)
- 它是一个由多层组成的文件,用于在 Docker 容器中执行代码。
- 它们是一组用于创建 docker 容器的指令。
2.Docker容器(Docker Container)
- 它是图像的运行时实例。
- 允许开发人员将应用程序与所需的所有部分(例如库和其他依赖项)打包在一起。
3.Docker 文件(Docker file)
- 它是一个文本文档,包含必要的命令,执行时有助于组装 Docker 映像。
- Docker 镜像是使用 Docker 文件创建的。
4.Docker引擎(Docker Engine)
- 托管容器的软件称为 Docker Engine。
- Docker Engine 是一个基于客户端-服务器的应用程序
- docker引擎有3个主要组件: - Server:负责创建和管理 Docker 上的 Docker 镜像、容器、网络和卷。它被称为守护进程。- REST API:它指定应用程序如何与服务器交互并指示它做什么。- 客户端:客户端是一个docker命令行界面(CLI),它允许我们使用docker命令与Docker交互。
5. Docker 中心(Docker Hub)
- Docker Hub 是官方在线存储库,您可以在其中找到其他可用的 Docker 镜像。
- 它使查找、管理和与他人共享容器映像变得容易。
在 Ubuntu 上安装 Docker
1.删除旧版本的Docker
$ sudo apt-get remove docker docker-engine docker.io containerd runc
2.安装Docker引擎
$ sudo apt-get update
$ sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
$ sudo groupadd docker
$ sudo usermod -aG docker $USER
检查docker是否已成功安装在您的系统中
$ sudo docker run hello-world
在 Docker 中创建应用程序
创建一个文件夹,其中包含 2 个文件(Dockerfile 和 main.py 文件)。
使用以下代码编辑 main.py。
#!/usr/bin/env python3
print("Docker and GFG rock!")
- 使用以下命令编辑 Dockerfile。
FROM python:latest
COPY main.py /
CMD [ "python", "./main.py" ]
- 创建 Docker 镜像。
创建并编辑 main.py 文件和 Dockerfile 后,创建映像来包含您的应用程序。
$ sudo docker build -t python-test 。
“-t”选项允许定义图像的名称。“python-test”是我们为图像选择的名称。
5.运行Docker镜像
创建图像后,您的代码就可以启动了。
$ sudo docker run python-test
将镜像推送到 Docker Hub
****1.****在 Docker Hub 上创建一个帐户。
****2.****单击“Create Repository”按钮,输入文件名,然后单击“Create”。
****3.****现在将“tag our image"并将其“push it to the Docker Hub repository”。
现在,运行以下命令来列出 docker 镜像:
$ docker images
****4.****将镜像推送到 Docker Hub 存储库
$ docker push afrozchakure/python-test
从 Docker Hub 获取并运行镜像
****1.****要从本地系统中删除特定映像的所有版本,我们使用它的映像 ID。
$ docker rmi -f af939ee31fdc
****2.****现在运行镜像,如果本地机器上不存在镜像,它将从 docker hub 获取镜像。
$ docker run afrozchakure/python-test
结论
现在您已经了解了 Docker 的基础知识、虚拟机和 Docker 容器之间的区别以及 Docker 中的一些常见术语。此外,我们还完成了在系统上安装 Docker 的过程。我们使用 Docker 创建了一个应用程序,并将我们的镜像推送到 Docker Hub。最后,我们了解了如何从本地系统中删除特定映像,然后从 Docker Hub 中提取该映像(如果本地不存在该映像)。
版权归原作者 心兰相随引导者 所有, 如有侵权,请联系我们删除。