如何使用Docker:创建第一个Docker容器

本教程介绍了Docker入门的基础知识。我假设您已经安装了Docker。本教程中的步骤适用于与Docker兼容的任何Linux发行版(CentOS,Ubuntu等)。

创建您的第一个Docker容器

Docker创建虚拟容器。Docker的容器系统非常高效,因为它可以与提交一起使用。这样可以节省空间,并允许您查看容器的更改。例如,如果将Apache安装在一个容器中,则可以创建一个名称为“ Installed Apache”的提交,以便您确切地知道发生了什么。

我们要做的第一件事是从存储库中提取信息。假设要在容器中安装Ubuntu,可以从存储库中拉Ubuntu:

docker pull ubuntu

请耐心等待,因为这可能需要一段时间。下载所有内容后,您可以使用以下操作系统创建容器:

docker run -i -t ubuntu /bin/bash

或使用Debian,例如:

docker run -i -t debian /bin/bash

如果找不到操作系统(尚未拉出),它将自动从Docker Hub中拉出。

实际上,您现在有了一个容器!您正在由Docker管理的精简容器中运行bash。尝试运行一些常见的Linux命令以了解环境。

当您键入exit退出容器并返回主操作系统时,所有更改都将消失。要将更改保存到容器,我们使用提交。

提交

创建Docker容器时,将自动生成其主机名。例如,当我创建一个新的Ubuntu容器时,我可能会得到主机名f7943e42aff0。这是Docker赋予您的容器的名称。

安装您想要的东西,并确保一切正常。然后退出您的Docker容器:

exit

我们现在需要承诺;否则,所有更改都将丢失。

docker commit -a "William E." -m "Installed Apache" f7943e42aff0 apachesnapshot

-a开关可用于正确确定谁编写了该提交(谁在容器中进行了更改)。-m是提交消息。该f7943e42aff0是我的容器的主机名。您的情况会有所不同,因为Docker会随机生成它们。apachesnapshot是图像的名称。

您可以在本地计算机上查看包含所有图像的列表。最新的位于顶部。

docker images

为了通过更改启动您的Docker容器,请运行:

docker run -t -i apachesnapshot /bin/bash

使用Dockerfile

Dockerfile可以用于使用已安装的应用程序制作映像。这样可以方便地启动容器,而不必运行特定命令。例如,如果要使用~/file.txt已创建的文件创建映像,则可以使用以下Dockerfile:

FROM ubuntu:14.04
MAINTAINER William E. <william@localhost>
RUN touch ~/file.txt

为了使用此Dockerfile创建Docker容器,请在本地计算机上为您的Dockerfile创建一个文件夹(我曾使用~/files)。将Dockerfile的内容放入名为的文件中Dockerfile。您现在可以通过运行以下命令来创建图像:

docker build -t="test" .

这将从您的Dockerfile脚本创建Docker映像。您现在可以运行容器。与命令中的test值相同。testdocker build

docker run -t -i test /bin/bash

当bash shell打开时,您将看到~/file.txt已经创建了。

这只是您可以使用Docker创建的强大环境的一种体验。Docker官方手册对这些主题进行了更深入的介绍。此时,您应该能够尝试运行现有的容器并开始对自己的容器进行映像。

由威廉·戴维·爱德华兹(William David Edwards)撰写



Leave a Comment

在CentOS 7上使用Docker Swarm(CE)进行粘性会话

在CentOS 7上使用Docker Swarm(CE)进行粘性会话

使用其他系统?简介Docker Swarm将您的单个服务器转变为计算机集群,从而促进扩展,高可用性和扩展性。

通过iPXE安装Rancher OS

通过iPXE安装Rancher OS

Rancher OS是围绕Docker构建的非常轻量级的Linux发行版。操作系统本身的重量约为20MB。本教程将帮助您入门和运行

两种Docker图形化管理工具:DockerUI和Shipyard

两种Docker图形化管理工具:DockerUI和Shipyard

借助Vultr Docker应用程序,您可以轻松地在Vultr服务器实例上部署Docker。同时,您可以方便地进行Docker管理任务

在Ubuntu 18.04上安装Docker CE

在Ubuntu 18.04上安装Docker CE

简介Docker是一个应用程序,可让我们部署作为容器运行的程序。它是用流行的Go编程语言编写的

在RancherOS上安装Rancher Server

在RancherOS上安装Rancher Server

概述RancherOS是一个非常轻量级的操作系统(仅约60 MB),它以PID 0作为运行系统服务的方式运行系统Docker守护程序。

在CoreOS上,设置您自己的Docker注册表

在CoreOS上,设置您自己的Docker注册表

我们都知道并喜欢Docker,这是一个在多台机器上创建,管理和分发应用程序容器的平台。Docker Inc.提供服务

在Debian 9上安装Docker CE

在Debian 9上安装Docker CE

使用其他系统?简介Docker是一个允许在虚拟容器内部署软件的应用程序。它写在G

在Ubuntu 14.04上安全地部署和管理LXC容器

在Ubuntu 14.04上安全地部署和管理LXC容器

LXC容器(Linux容器)是Linux中的一种操作系统功能,可用于在单个主机上运行多个隔离的Linux系统。塞斯

使用Docker部署Node.js应用程序

使用Docker部署Node.js应用程序

本文将向您展示如何在Docker容器中部署Node应用程序。注意:本教程假定您已安装Docker并已阅读

Docker的负载均衡

Docker的负载均衡

在运行Web应用程序时,通常希望充分利用资源,而不必转换软件以使用多线程处理程序。

在CentOS 7上安装Rancher

在CentOS 7上安装Rancher

使用其他系统?简介Rancher是一个用于运行容器和构建私有容器服务的开源平台。牧场主是基地

CentOS 7上的Kubernetes入门

CentOS 7上的Kubernetes入门

Kubernetes是Google开发的开放源代码平台,用于跨服务器集群管理容器化应用程序。它以十年为基础

在Alpine Linux 3.9.0上创建Docker Swarm

在Alpine Linux 3.9.0上创建Docker Swarm

简介本指南将向您展示如何使用多个Alpine Linux 3.9.0服务器和Portainer创建和配置Docker群。请注意

在Debian 9上使用Docker Swarm(CE)进行粘性会话

在Debian 9上使用Docker Swarm(CE)进行粘性会话

使用其他系统?简介Docker Swarm将您的单个服务器转变为计算机集群。便于扩展,高可用性和

如何在CentOS 7上安装Harbor

如何在CentOS 7上安装Harbor

Harbor是一个开放源代码的企业级注册服务器,用于存储和分发Docker映像。Harbor扩展了开源Docker Distribution b

在CentOS 7上使用Kubeadm部署Kubernetes

在CentOS 7上使用Kubeadm部署Kubernetes

概述本文旨在帮助您立即建立Kubernetes集群并使用kubeadm运行。本指南将在以下位置部署两台服务器

使用Docker在CentOS 7上开始使用SQL Server 2017(MS-SQL)

使用Docker在CentOS 7上开始使用SQL Server 2017(MS-SQL)

前提条件Docker引擎1.8+。至少4GB的磁盘空间。至少4GB的RAM。步骤1.安装Docker为了安装SQL-Server,Docker mus

在Ubuntu 14.04上安装Docker

在Ubuntu 14.04上安装Docker

使用其他系统?Docker是一个允许部署作为容器运行的程序的应用程序。它是用流行的Go程序编写的

使用Docker-compose部署PHP应用程序

使用Docker-compose部署PHP应用程序

PHP应用程序通常由Web服务器,关系数据库系统和语言解释器本身组成。在本教程中,我们将继续学习

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

大數據的13個商業數據提取工具

什麼是日誌文件系統,它是如何工作的?

什麼是日誌文件系統,它是如何工作的?

我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true

技術奇點:人類文明的遙遠未來?

技術奇點:人類文明的遙遠未來?

隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

洞察 26 種大數據分析技術:第 1 部分

2021 年人工智能對醫療保健的影響

2021 年人工智能對醫療保健的影響

過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。