【Docker】初学者 Docker 基础操作指南:从拉取镜像到运行、停止、删除容器

啵啵啵啵哲 2024-06-17 14:07:02 阅读 98

在现代软件开发和部署中,容器化技术已经成为一种常见的方式,它能够提供一种轻量级、可移植和可扩展的应用程序打包和部署解决方案。Docker 是目前最流行的容器化平台之一,它提供了一整套工具和技术,使得容器的创建、运行和管理变得简单和高效。

在这里插入图片描述

本教程旨在为 Docker 的初学者提供一个简单明了的入门指南,介绍 Docker 的基础操作。我们将从拉取 Docker 镜像开始,逐步学习如何创建、运行、停止和删除容器,以及一些其他常用操作,为进一步应用打下基础。

文章目录

什么是镜像和容器?提醒0. 安装 Docker1. 搜索镜像 (docker search)2. 拉取镜像(docker pull)与列出本地镜像(docker images)3. 创建容器(docker create)4. 开启容器(docker start)与启动容器(docker run)5. 停止容器(docker stop)6. 删除容器(docker rm)7. 其他常用命令

首先介绍两个基本概念:镜像容器

什么是镜像和容器?

镜像(Image):镜像是一个轻量级、独立、可执行的软件包,其中包含了运行应用程序所需的所有内容加粗样式,包括代码、运行时环境、库、环境变量和配置文件等。镜像是容器的基础,可以用来创建一个或多个容器实例。

容器(Container):容器是从镜像创建的一个运行实例,它包含了镜像的内容以及额外的可写层,使得容器可以被启动、停止、移动和删除。当启动一个容器时,它实际上是在主机操作系统的隔离环境中运行的一个进程。这个隔离环境使得容器可以独立运行,并且不受主机或其他容器的影响

提醒

如果需要,你可能需要在每个Docker命令前面加上sudo,具体取决于具体的系统配置和用户权限。

0. 安装 Docker

首先,你需要安装 Docker,可以根据自己的操作系统选择合适的安装方法,可以参考 Docker 官方文档:https://docs.docker.com/get-docker/

1. 搜索镜像 (docker search)

docker search 命令用于在 Docker Hub 上搜索镜像。如果想要搜索nginx,执行以下命令即可

docker search nginx

搜索结果如下,包括其名称、描述以及在 Docker Hub 中的 Star 数量:

NAME DESCRIPTION STARS OFFICIALnginx Official build of Nginx. 19632 [OK]unit Official build of NGINX Unit: Universal Web … 21 [OK]nginx/nginx-ingress NGINX and NGINX Plus Ingress Controllers fo… 88 nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 141 nginx/nginx-prometheus-exporter NGINX Prometheus Exporter for NGINX and NGIN… 36 ... (省略部分结果)

:Nginx 是一个流行的开源的高性能 Web 服务器和反向代理服务器。在 Docker 中,nginx是官方提供的 Nginx 镜像的名称,用于方便用户快速获取和部署 Nginx 服务器。在教程中选择了 Nginx 作为示例镜像,以便展示 Docker 中常见的操作流程。

:Docker Hub 是一个免费的公共镜像仓库,提供了数以千计的官方和社区维护的 Docker 镜像。您可以在 Docker Hub 上搜索各种镜像,例如操作系统镜像、应用程序镜像等。在使用 docker search 命令时,会默认搜索 Docker Hub 上的镜像。

2. 拉取镜像(docker pull)与列出本地镜像(docker images)

使用 docker pull 命令拉取一个 Docker 镜像。例如,我们拉取一个名为 nginx 的镜像:

docker pull nginx

等待下载完成即可。

docker images 命令用于列出本地系统中的已下载的 Docker 镜像:

docker images

打印结果如下:

REPOSITORY TAG IMAGE ID CREATED SIZEnginx latest e4720093a3c1 8 days ago 187MBsulinggg/openwrt x86_64 3d9db27509a6 9 months ago 223MB

3. 创建容器(docker create)

使用 docker create 命令创建一个容器。以下是创建一个名为 my_nginx 的容器的示例:

docker create --name my_nginx nginx

4. 开启容器(docker start)与启动容器(docker run)

使用 docker start 命令开启创建的容器:

docker start my_nginx

还有一个命令是 docker run,用于不同的场景:

(1) docker run命令用于创建并启动一个新的容器。当您需要创建一个新的容器,并且希望立即启动该容器时,应该使用 docker run命令,例如:

docker run ubuntu /bin/bash

docker run相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)。

在这里插入图片描述

(3) docker start 命令用于启动一个已经存在的容器。如果使用这个命令,我们必须事先知道这个容器的ID,或者这个容器的名称,我们可以使用 docker ps 找到该容器的信息。

例如,当你停止了一个运行中的容器后,可以使用 docker start 命令重新启动该容器:

docker start my_container

5. 停止容器(docker stop)

使用 docker stop 命令停止容器:

docker stop my_nginx

6. 删除容器(docker rm)

使用 docker rm 命令删除容器:

docker rm my_nginx

7. 其他常用命令

容器日志查看:使用 docker logs 命令查看容器日志,例如 docker logs my_nginx容器内部执行命令:使用 docker exec 命令在运行中的容器内执行命令,例如 docker exec -it my_nginx bash。其中参数-it表示交互式模式,即 -i(交互式)和 -t(终端)。容器列表查看:使用 docker ps 命令查看运行中的容器列表,加上-a 参数可以查看所有容器列表,包括停止的容器。当使用 docker run 命令时,除了常见参数 -d(后台运行)和 -p(端口映射)之外,还有一些其他常用参数:

-v:挂载主机目录到容器内部,用于数据持久化。

-e:设置容器内的环境变量。

--name:为容器指定一个自定义的名称。

-i:启动一个交互式容器。

-t:为容器分配一个伪终端。

--restart:指定容器退出时的重启策略。

--network:指定容器所属的网络模式。

--link:链接另一个容器。

希望这个教程能够帮助你入门 Docker并掌握常用的基本操作。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。