如何创建图像并将其与我自己的个人计算机进行容器化

时间:2016-02-04 19:46:00

标签: python docker containers docker-image

我目前是Docker的新手,我已经完成了大量的在线教程,但仍然没有掌握整个过程。据我所知,大多数教程都是从在线公共存储库中提取的。

但对于我的应用程序,我觉得我需要创建这些图像并将它们从我的本地或SSH'd计算机实现到容器中。所以我想我的整体问题是,如何创建一个图像并将其从一无所有的容器中实现?我想在我进入我将在未来做的大项目之前尝试使用像Python这样的东西。我未来的项目将包含一个天气研究模型。

我不希望有人为我这样做,我只是没有运气寻找文档,我明白,这给了我如何做到这一点的基础,而无需在线提取存储库。任何链接或文档都将受到极大的欢迎和赞赏。

1 个答案:

答案 0 :(得分:1)

我发现Docker令人困惑,重要的是要了解图像和容器之间的区别。 Docker使用现有内核的文件集合在现有系统中创建系统。容器是在运行时更新的文件集合。图像是无法操作的文件的保存副本。根据您可以使用的命令,还有更多内容,但您可以随时了解。

首先,您应下载包含操作系统基本文件的现有映像。您可以使用docker search查找一个。我想要一个32位的小型操作系统。我决定尝试使用Debian,所以我使用了docker search debian32。找到图像后,使用docker pull获取图像。我用docker pull hugodby/debian32来获取我的基本图像。

接下来,您将要使用该图像构建容器。您将需要创建一个“Dockerfile”,其中包含用于创建图像的所有命令。但是,如果您不确定系统中的内容,可以使用下载的图像创建容器,进行更改(同时记下您已完成的操作),然后创建“Dockerfile”使用之后执行这些任务的命令。

如果你创建了一个'Dockerfile',你就会进入带有'Dockerfile'的目录,并且为了构建图像,运行命令:docker build -t TAG

您现在可以从图像创建容器并使用以下命令运行它:

docker run -it --name=CONTAINER_NAME TAG

CONTAINER_NAME是您要引用容器的内容,而TAG是您下载的图像中的标记,或者您之前分配给从“Dockerfile”创建的图像的标记。

进入容器后,您可以安装软件以及使用常规Linux系统所做的大部分工作。

一些可能有用的附加命令是:

CTRL-p CTRL-q # Exits the terminal of a running container without stopping it
docker --help # For a list of docker commands and options
docker COMMAND --help # For help with a specific docker command
docker ps -a # For a list of all containers (running or not)
docker ps # For a list of running containers
docker start CONTAINER_NAME # To start a container that isn't running
docker images # For a list of images
docker rmi TAG # To remove an image