创建你的第一个Docker应用
Grace 译 分布式实验室
在简要介绍Docker是什么以及为什么要使用它之后,你将能够使用Docker创建第一个应用程序。
Docker是什么?
它允许用户创建独立且隔离的环境来启动和部署其应用程序。这些环境称为容器。
使用Docker,开发人员可以在任何机器上运行容器。
正如你所看到的,使用Docker,不再存在依赖或编译问题。你所要做的就是启动容器,你的应用程序就会立即启动。
但是,Docker等同于虚拟机吗?
它可能起初看起来像虚拟机,但功能却不太一样。
与Docker不同,虚拟机包含完整的操作系统。虚拟机能独立并像计算机一样工作。
Docker仅仅是共享主机的资源,利用这些资源来运行它所需的环境。
Docker VS虚拟机(版权归Docker博客所有)
为什么作为开发人员需要使用Docker?
Docker很快。与虚拟机不同,你的应用程序可以在几秒钟内启动并快速停止。
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.py0 directories, 2 files
3. 编辑Python文件
你可以将以下代码添加到'main.py'文件中:
一旦你看到终端中显示“Docker is magic!”,就说明你的Docker正在工作。
4. 编辑Docker文件
提示:当你创建Dockerfile时,你需要做的第一件事就是问问自己你想要什么。现在我们的目标是运行启动Python代码。
为此,我们的Docker必须包含启动Python所需的所有依赖项。一个安装了Python的linux系统(Ubuntu)就足够了。
创建Docker文件时,第一步是访问DockerHub网站。该站点包含许多设计好的的镜像,使用这些镜像可以以节省你的时间(例如:所有适用于Linux或某种代码语言镜像)。
在我们的例子中,我们将在搜索栏中输入“Python”。第一个结果是为执行Python而创建的官方镜像。完美,我们就用它!
最终 Dockefile 代码如下:
FROM python:latestCOPY 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!”。
代码地址
Docker常用命令
$ 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/
更多相关文章
- 虚拟网络:OpenFlow,与OpenStack集成,边缘虚拟网络
- (设计模式)迭代器 > 本篇文章由一文多发平台[ArtiPub](https://gi
- Docker是不是遇上麻烦了?
- RTX51 Tiny 操作系统第二篇:任务的创建和删除
- Django 静态文件模板路径配置
- 总结Java中创建并写文件的5种方式
- 2.Numpy 的创建 array
- Docker 从入门到掉坑
- Docker从入门到掉坑(三):容器太多,操作好麻烦