Docker学习路线9:运行容器

这篇具有很好参考价值的文章主要介绍了Docker学习路线9:运行容器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

要启动一个新的容器,我们使用 docker run 命令,后跟镜像名称。基本语法如下:

docker run [选项] 镜像 [COMMAND] [ARG...]

例如,要运行官方的 Nginx 镜像,我们可以使用:

docker run -d -p 8080:80 nginx

这会启动一个新的容器,并将主机的端口 8080 映射到容器的端口 80。

列出容器

要列出所有正在运行的容器,请使用 docker ps 命令。要查看所有容器(包括已停止的容器),请使用 -a 标志:

docker container ls -a

访问容器

要访问正在运行的容器的 shell,请使用 docker exec 命令:

docker exec -it CONTAINER_ID bash

CONTAINER_ID 替换为所需容器的 ID 或名称。您可以在 docker ps 的输出中找到它。

停止容器

要停止运行中的容器,请使用 docker stop 命令,后跟容器 ID 或名称:

docker container stop CONTAINER_ID

删除容器

停止容器后,我们可以使用 docker rm 命令,后跟容器 ID 或名称,将其删除:

docker container rm CONTAINER_ID

要在退出时自动删除容器,请在运行容器时添加 --rm 标志:

docker run --rm IMAGE

Docker Compose

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。它允许您使用一个简单的名为 docker-compose.yml 的 YAML 文件创建、管理和运行应用程序。此文件描述了你的应用程序的服务、网络和卷,只需使用一个命令就可以轻松运行和管理你的容器。

使用 Docker Compose 的一些好处包括:

  • 简化容器管理: Docker Compose 允许您在一个地方定义和配置所有服务、网络和卷,使其易于管理和维护。
  • 可重复构建: 共享你的 docker-compose.yml 文件,以确保他人运行相同的环境和服务。
  • 版本支持: Docker Compose 文件可以进行版本控制,以便更容易地与不同版本的 Docker Compose 工具进行兼容。

创建 Docker Compose 文件:

要创建一个 docker-compose.yml 文件,首先指定您想要使用的 Docker Compose 版本,然后是您想要定义的服务。下面是一个基本的 docker-compose.yml 文件示例:

version: "3.9"services:  web:    image: nginx:latest    ports:      - "80:80"  db:    image: mysql:latest    environment:      MYSQL_ROOT_PASSWORD: mysecretpassword

在这个示例中,我们指定了两个服务:一个运行最新版本 nginx 镜像的 Web 服务器(web),以及运行 MySQL 的数据库服务器(db)。Web 服务器将其端口 80 暴露给主机,而数据库服务器则设置了根密码的环境变量。

运行 Docker Compose:

要运行你的 Docker Compose 应用程序,只需导航到包含你的 docker-compose.yml 文件的目录,并运行以下命令:

docker-compose up

Docker Compose 将读取文件并按指定的顺序启动定义的服务。

其他有用的命令:

  • docker-compose down:停止并删除在 docker-compose.yml 文件中定义的所有正在运行的容器、网络和卷。
  • docker-compose ps:列出在 docker-compose.yml 文件中定义的所有容器的状态。
  • docker-compose logs:显示在 docker-compose.yml 文件中定义的所有容器的日志。
  • docker-compose build:构建在 docker-compose.yml 文件中定义的所有镜像。

这是一个关于 Docker Compose 的简要介绍!了解更多信息,请查看官方的 Docker Compose 文档

运行时配置选项

运行时配置选项允许你在运行 Docker 容器时自定义容器的行为和资源。这些选项对于管理容器的资源、安全性和网络非常有帮助。以下是一些常用的运行时配置选项的简要概述:

资源管理

  • CPU: 你可以使用 cpuscpu-shares 选项来限制容器的 CPU 使用率。cpus 选项限制容器可以使用的 CPU 核心数量,而 cpu-shares 选项为容器分配相对的 CPU 时间份额。

    docker run --cpus=2 --cpu-shares=512 your-image

  • 内存: 你可以使用 memorymemory-reservation 选项来限制和预留容器的内存。这可以帮助防止容器占用过多的系统资源。

    docker run --memory=1G --memory-reservation=500M your-image

安全性

  • 用户: 默认情况下,容器作为 root 用户运行。为了增加安全性,你可以使用 user 选项将容器作为其他用户或 UID 运行。

    docker run --user 1000 your-image

  • 只读根文件系统: 为了防止容器对文件系统进行不必要的更改,你可以使用 read-only 选项将根文件系统挂载为只读。

    docker run --read-only your-image

网络

  • 发布端口: 你可以使用 publish(或 p)选项将容器的端口发布到主机系统上。这允许外部系统访问容器化的服务。

    docker run -p 80:80 your-image

  • 主机名和 DNS: 你可以使用 hostnamedns 选项来自定义容器的主机名和 DNS 设置。

    docker run --hostname=my-container --dns=8.8.8.8 your-image

包括这些运行时配置选项将允许你有效地管理容器的资源、安全性和网络需求。有关可用运行时配置选项的完整列表,请参阅 Docker 的官方文档。

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号 Let us Coding牛客知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注文章来源地址https://www.toymoban.com/news/detail-591999.html

到了这里,关于Docker学习路线9:运行容器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker学习路线13:部署容器

    部署容器是使用Docker和容器化管理应用程序更高效、易于扩展和确保跨环境一致性性能的关键步骤。本主题将为您概述如何部署Docker容器以创建和运行应用程序。 Docker容器是轻量级、可移植且自我包含的环境,可以运行应用程序及其依赖项。部署容器涉及启动、管理和扩展这

    2024年02月15日
    浏览(26)
  • Docker学习路线7:构建容器镜像

    容器镜像是可执行的软件包,包括运行应用程序所需的所有内容:代码、运行时、系统工具、库和设置。通过构建自定义镜像,您可以在任何支持Docker的平台上无缝地部署应用程序及其所有依赖项。 构建容器镜像的关键组件是 Dockerfile 。它本质上是一个包含有关如何组装 D

    2024年02月16日
    浏览(39)
  • Docker学习路线8:容器注册表

    容器注册表 是Docker容器镜像的集中存储和分发系统。它允许开发人员以这些镜像的形式轻松共享和部署应用程序。容器注册表在容器化应用程序的部署中发挥着关键作用,因为它们提供了一种快速、可靠和安全的方式,在各种生产环境中分发容器镜像。 以下是当今流行的容

    2024年02月17日
    浏览(53)
  • Docker容器启动时运行shell脚本

    来源于部署在liux上的Docker服务如何自动运行,而不是手动运行,因为输入数据是变化的,这里根据的是如果存在输入数据,被Docker服务监听到,则自动运行Docker服务中的代码。 对于Ubuntu18.04以上的系统,如果是使用命令 sudo apt-get install -y docker.io 安装的docker,都可以使用下列

    2024年02月09日
    浏览(55)
  • 查看正在运行docker容器的启动命令

    该命令主要是为了详细展示查看运行时的command参数 使用docker inspect,但是docker inspect打印的是json文件,需要挑选字段查看,容器的参数信息都能从json文件中解析出来。 通过runlike去查看一个容器的docker run启动参数

    2024年02月13日
    浏览(40)
  • docker 查看容器启动日志 查看运行日志

    案例: 查看最近30分钟的日志: $ docker logs --since 30m CONTAINER_ID 查看某时间之后的日志: $ docker logs -t --since=“2019-11-02T13:23:37” CONTAINER_ID 查看某时间段日志: $ docker logs -t --since=“2019-11-02T13:23:37” --until “2019-11-03T12:23:37” CONTAINER_ID 命令参数如下: $ docker logs [OPTIONS] CONTAINER

    2024年02月04日
    浏览(51)
  • 如何配置 Docker 容器在系统启动时自动运行

    在使用 Docker 部署应用程序时,您可能希望配置容器在系统启动时自动启动。这可以通过 Systemd 在 Linux 系统上实现。本文将以一个示例命令和服务(以 pandora 为例)为基础,向您展示如何配置 Docker 容器的自动启动。 以下是详细步骤: 在终端中执行以下命令,创建一个新的

    2024年02月12日
    浏览(30)
  • 从零开始学Docker(二):启动第一个Docker容器

    宿主机环境:RockyLinux 9 这个章节不小心搞成命令学习了,后面在整理成原理吧 我们可以看到,第一个时官方认证构建的nginx  如下,这里我们使用的是简单的pull操作,默认下载的是最新版本 latest  拉取镜像后查看镜像列表  运行该nginx镜像,创建一个具体的容器,然后在这

    2024年02月14日
    浏览(29)
  • Docker容器运行多个php,一个正常另一个报502

    问题是解决了,但是并不知道问题出在哪儿 docker-compse.yml 文件并没有什么改动 在解决这个问题的过程中多次重新打包镜像配置运行容器,没有任何效果,最多就是原本正常的站点也变得不可用 我在看nginx的配置时,发现可以在 location 里面将多个版本的php都配置上路径 我想是

    2024年01月20日
    浏览(48)
  • Docker已经创建运行启动的容器,如何修改容器中的环境变量env使长期有效

    [root@jenkins ~]# docker info | grep ‘Docker Root’ Docker Root Dir: /data/docker 方式一: 方式二: docker ps -a --no-trunc |grep pdmaas 2bd5ad1314bfff05099142aae2f896fc4c3ee6b640160d27fb7c4d8ce1d5aead pdmaas:1.3.2 “bash start.sh” 4 weeks ago Exited (137) 28 minutes ago pdmaas 建议:修改前先备份 建议:修改前先备份 或 json文件

    2024年02月08日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包