你是不是第一次开始使用docker并且对过多的命令感到困惑。别担心,这篇博客将重点介绍初学者应该知道的Docker命令。
在深入了解Docker的功能和特性之前,我们需要了解为什么需要Docker。
如果你已经在这个行业工作了很长一段时间,那么你会遇到这个关于引入Docker的模因。好吧,这个模因显然很有趣,但不知何故竟然是一个事实。
Docker之前的生活
在引入Docker之前,将应用程序交付给目标用户不仅是一项复杂的任务,而且也是乏味的。像zip文件、wheel文件甚至JAR文件这样的工件被发送给用户,然后部署在他们的机器上。现在,您会想知道这种传送和部署应用程序的方法是否成功。
答案在于应用程序部署的后遗症。一旦应用程序或软件部署在用户的机器上,它可能无法按预期工作。应用程序在所有机器中的执行方式不同的两个主要原因是:
不同机器之间的应用程序版本差异
跨机器的环境变量不一致
Docker通过打包软件帮助解决了这两个问题,软件所有部分的版本都定义在一个名为Dockerfile的文件中。
Dockerfile
Dockerfile是一个基于文本的文档,其中包含有关软件依赖项的所有信息。Dockerfile在用户系统上执行,借助Dockerfile中列出的命令,软件安装在用户系统上。
通常Dockerfile是唯一发送给用户的东西
Python
#文件.pybr打印(“大家好”)
下面是一个实例Dockerfile来理解这个概念。
Dockerfile
来自ubuntu:最新br复制。/locbr运行制作/locbrCMDpython/loc/file.py
让我们看看上面的Dockerfile是如何工作的。
1.FROMubuntu:latest:这将创建一个ubuntu操作系统层,在该层上可以执行来自Dockerfile的其余命令。执行此行后,将从DockerHub下载ubuntu操作系统。
2.COPY./loc:这会将所有文件从当前目录复制到该/loc目录。
3.RUNmake/loc:一旦我们安装了我们的ubuntu操作系统,我们可以使用make命令来编译/loc目录中的文件。
4CMDpython/loc/file.py.:使用命令,在用户机器上执行CMDpython文件。file.py
请注意,这是一个基本的Dockerfile,与真正的软件发布所使用的Dockerfile相差甚远。
如何运行Dockerfile?
将Dockerfile发送给用户后,应使用一些特殊命令来执行Dockerfile。让我们看看执行Dockerfile的过程。
构建Dockerfile
dockerbuild-tmudit/docker.
基本上,build命令用于从Dockerfile创建Docker映像。该命令的语法-t用于命名新创建的Docker映像。.命令末尾的used告诉编译器Dockerfile仅存在于当前目录中。
现在,如果您尝试在当前目录中查找Docker映像,您将找不到任何东西,因为Docker映像没有存储为单个文件。Docker映像的存储由系统负责。但是,如果您需要查看系统中某个时间点的图像怎么办?我们将在下一节中看到这一点。
列出Docker镜像
dockerimage
使用上述命令,您可以轻松列出当前系统中的所有Docker映像。Docker镜像列表将包括以下详细信息:
REPOSITORY
TAG
IMAGE_ID
CREATED
SIZE
这些Docker镜像也可以推送到DockerHub中,供其他用户轻松下载您的项目。DockerHub类似于GitHub。就像GitHub存储您的代码一样,DockerHub存储Docker映像。
运行Docker映像
dockerrunmudit/docker
运行mudit/dockerDocker映像,您将获得如下输出:
一旦运行Docker映像,就会创建一个docker容器。Docker容器一直处于运行状态,直到Docker镜像完成。Docker映像完成后,Docker容器会自动停止。
列出Docker容器
dockerps
此命令有助于查看正在运行的容器。但是,这只会列出那些仍处于运行状态的容器。使用此命令将不会显示已创建但现在已停止的容器。要列出所有容器,包括当前未处于运行状态的容器,您需要-all在现有命令的末尾使用。
由于我们的容器当前没有运行,该dockerps命令不会显示任何内容。但是,-all在命令末尾添加将显示所有已停止和正在运行的容器。
将Docker映像推送到DockerHub
dockerpushmudit/docker
dockerpush创建Docker映像后,您可以使用命令轻松地将映像发布到DockerHub。将Docker映像推送到DockerHub使全球用户能够在他们的机器上访问您的Docker映像。
在将Docker映像推送到DockerHub之前,您应该拥有一个有效的DockerHub帐户。
同样,您也可以从DockerHub拉取任何公共Docker镜像
从DockerHub拉取Docker镜像
dockerpullmudit/docker
通过使用该dockerpull命令,您可以将任何Docker映像获取到您的系统中。将Docker映像下载到您的系统后,您可以使用它dockerrun来运行该映像。
完成这些命令后,您可以尝试制作一个实例Dockerfile并将其上传到DockerHub。然后,您可以要求任何人从DockerHub下载您的Docker映像并尝试运行该映像。