创建你的第一个Docker应用

640?wx_fmt=jpeg

在简要介绍Docker是什么以及为什么要使用它之后,你将能够使用Docker创建第一个应用程序。

Docker是什么?

640?wx_fmt=png

Docker是由Docker公司开发的免费软件。它于2013年3月13日面世,并且从那天开始成为IT开发领域的必备工具。

它允许用户创建独立且隔离的环境来启动和部署其应用程序。这些环境称为容器。

使用Docker,开发人员可以在任何机器上运行容器。

正如你所看到的,使用Docker,不再存在依赖或编译问题。你所要做的就是启动容器,你的应用程序就会立即启动。

但是,Docker等同于虚拟机吗?

640?wx_fmt=png

这是关于Docker的最常见问题之一。答案是:并不完全是。

它可能起初看起来像虚拟机,但功能却不太一样。

与Docker不同,虚拟机包含完整的操作系统。虚拟机能独立并像计算机一样工作。

Docker仅仅是共享主机的资源,利用这些资源来运行它所需的环境。

640?wx_fmt=png

Docker VS虚拟机(版权归Docker博客所有)

为什么作为开发人员需要使用Docker?

640?wx_fmt=png

这个工具可以真正改变开发人员的日常生活。为了最好地回答这个问题,我列出了一份它的好处的清单:

  • Docker很快。与虚拟机不同,你的应用程序可以在几秒钟内启动并快速停止。

  • Docker是跨平台的。你可以在任何系统上启动容器。

  • 相比于虚拟机,可以更快的构建和销毁容器。

  • 设置工作环境不再困难。配置Docker后,你将永远不必再次手动重新安装依赖项。如果你更换计算机或有新员工加入你的公司,你只需要为他们提供你的配置。

  • 拥有一个干净的工作环境,因为每个容器的环境都是隔离的,你可以随时删除它们,而不会影响其它环境。

  • 你可以轻松的在你的服务器上部署项目以便上线。

现在让我们创建你的第一个应用程序

640?wx_fmt=png

既然你知道Docker是什么,那么现在是时候创建你的第一个Docker应用程序了!

这个简短教程的目的是创建一个Python程序,这个程序会通过Dockerfile启动。最终这个程序会输出一行语句。

如果你了解了所有的步骤,你会发现Docker并不复杂。

注意:你不需要在计算机上安装Python。Docker环境中将包含Python以执行你的代码。

1. 在你的计算机上安装Docker

对于Ubuntu:

首先,更新你的包:

$ sudo apt update

接下来,使用apt-get安装Docker:

$ sudo apt install docker.io

最后,验证Docker是否正确安装:

$ sudo docker run hello-world

对于MacOSX用户:可以点击https://docs.docker.com/docker-for-mac/install/。

对于Windows用户:可以点击https://docs.docker.com/docker-for-windows/install/。

2. 创建项目

在创建你的第一个Docker应用程序之前,你需要在计算机上创建一个文件夹。它必须包含以下两个文件:

  • 一个 'main.py' 文件(将包含要执行的代码的Python文件)。

  • 一个 ‘Dockerfile’ 文件(Docker文件,包含创建容器环境的必要指令)。

通常你的文件夹结构如下:

.	
├── Dockerfile	
└── main.py	
0 directories, 2 files

3. 编辑Python文件

你可以将以下代码添加到'main.py'文件中:

#!/usr/bin/env python3	
print("Docker is magic!")

一旦你看到终端中显示“Docker is magic!”,就说明你的Docker正在工作。

4. 编辑Docker文件

提示:当你创建Dockerfile时,你需要做的第一件事就是问问自己你想要什么。现在我们的目标是运行启动Python代码。

为此,我们的Docker必须包含启动Python所需的所有依赖项。一个安装了Python的linux系统(Ubuntu)就足够了。

创建Docker文件时,第一步是访问DockerHub网站。该站点包含许多设计好的的镜像,使用这些镜像可以以节省你的时间(例如:所有适用于Linux或某种代码语言镜像)。

在我们的例子中,我们将在搜索栏中输入“Python”。第一个结果是为执行Python而创建的官方镜像。完美,我们就用它!

# 一个 dockerfile 的开头必须总是导入基本镜像	
# 我们使用关键词 'FROM' 来导入	
# 在这个例子中,我们导入python镜像	
# 所以我们使用python作为镜像名称,latest为版本	
FROM python:latest	
# 为了运行我们的python代码,我们必须将它导入我们的镜像	
# 我们可以使用关键词 'COPY'来做这件事	
# 第一个参数 'main.py' 是主机上的python文件的文件名	
# 第二个参数 '/' 是镜像上放置该文件的路径	
# 我们将python文件放在镜像的根目录	
COPY main.py /	
# 我们需要定义容器运行时需要执行的命令	
# 使用关键词'CMD'来做这件事	
# 以下命令执行 "python ./main.py"	
CMD [ "python", "./main.py" ]

最终 Dockefile 代码如下:

FROM python:latest	
COPY main.py /	
CMD [ "python", "./main.py" ]

5. 创建Docker镜像

一旦你的代码准备就绪并编写了Dockerfile,你所要做的就是创建你的镜像并包含你的应用程序。

$ docker build -t python-test .

'-t'选项允许你定义镜像的名称。我们使用了'python-test',你可以改成任何你想要的名称。

6. 运行Docker镜像

创建镜像后,你的代码就可以运行了。

$ docker run python-test

你需要在'docker run'后面加上你的镜像名称。

这样你应该在终端看到“Docker is magic!”。

代码地址

640?wx_fmt=png

如果你想要查看全部代码,可以点击以下链接:https://github.com/gael-thomas/Docker-First-Application-example。

Docker常用命令

640?wx_fmt=png

镜像列表:

$ docker image ls

删除镜像:

$ docker image rm [镜像名称]

删除所有存在的镜像:

$ docker image rm $(docker images -a -q)

容器列表(包括正在运行的和停止运行的):

$ docker ps -a

停止容器:

$ docker stop [container name]

停止所有正在运行的容器:

$ docker stop $(docker ps -a -q)

删除某个容器(已经停止的):

$ docker rm [容器名称]

删除所有容器(已经停止的):

$ docker rm $(docker ps -a -q)

显示某个容器的日志:

$ docker logs [container name]

原文链接:https://www.freecodecamp.org/news/a-beginners-guide-to-docker-how-to-create-your-first-docker-application-cc03de9b639f/

Kubernetes企业级实战训练营

640?

Kubernetes企业级实战训练营将于2019年8月30日在北京举办,3天时间带你系统掌握Kubernetes,学习效果不好可以继续学习。本次培训包括:Docker基础、容器技术、Docker镜像、数据共享与持久化、Docker三驾马车、Docker实践、Kubernetes基础、Pod基础与进阶、常用对象操作、服务发现、Helm、Kubernetes核心组件原理分析、Kubernetes服务质量保证、调度详解与应用场景、网络、基于Kubernetes的CI/CD、基于Kubernetes的配置管理等,点击下方图片或者阅读原文链接查看详情

640?wx_fmt=jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值