运行第一个 Docker 容器
zr - 2024-02-04 22:52:41 - 所属文档:Docker 快速入门文档
执行 docker run
命令
打开命令行工具,执行以下命令
docker run -d -p 8000:80 docker/getting-started
等这条命令执行成功之后,docker 已经为我们启动了一个新的容器,在容器的 80 端口上运行着一个 getting-started
Web 服务,并将本机上的 8000 端口映射到容器中的 80 端口。
因此,现在可以直接在本机访问 http://localhost:8000 即可访问到容器中 80 端口上启动的 getting-started
Web 服务了。
至此,我们已经启动了第一个 Docker 容器。先学会如何使用、先观察到效果,是循序渐进学习的重点;至于什么是容器,什么是镜像将在后续慢慢展开介绍。
部分参数说明:
docker/getting-started
- 使用的镜像名称
-p 8000:80
- 将本机上的 8000 端口映射到容器中的 80 端口
-d
- 让容器保持在后台运行,返回容器 ID备注:类似 -d 和 -p 这种单个字符的参数可以进行合并,所以上一条命令可以简写为:
docker run -dp 8000:80 docker/getting-started
Docker Dashboard
刚才提到的容器和镜像,在哪里可以看到它们?
方法 1:通过执行 Docker 提供的 cli 命令查看
docker container ls
- 查看正在运行的容器docker images
- 查看有哪些镜像
方法 2:通过 Docker 提供的可视化界面 Docker Dashboard 查看
Docker Dashboard 不止可以快速查看机器上运行的容器和拥有的镜像。还可以快速访问容器日志、轻松管理容器的生命周期(启动、停止,删除等...)更多功能可以参考官方文档 Mac 版本 或 Windows 版本。
如果现在你已经打开了 Docker Dashboard,将会看到本教程的 getting-started 容器正在运行中。容器名称默认是随机创建的(如下图显示的 agitated_chaplygin
)你自己看到到很可跟下图显示的不一致:
当然,也可以自己指定容器的名称,只需在运行容器时增加 --name
参数,主动指定容器名称即可,如:
docker run -d -p 8000:80 --name container-name docker/getting-started
什么是容器?
简而言之,容器只是在你计算机上的另一个进程,但是这个进程与主机上的所有其他进程是相互隔离的。这种隔离利用了 Linux 上已经存在很长时间的功能:内核名称空间和 cgroup。Docker 致力于使这些功能更容易实现、更便于使用。
什么是镜像?
容器运行时使用的是隔离的文件系统。这个自定义的文件系统就是由 镜像
提供。由于镜像包含容器的文件系统,因此它必须包含运行应用程序所需的所有内容:所有依赖项、配置、脚本、二进制文件等。该镜像还包含容器的其他配置,例如环境变量、要运行的默认命令以及其他元数据。后续将会更深入的研究镜像,诸如镜像的分层,构建镜像的最佳实践等主题。
原始资料:Get Started