首页 > 其他分享 >Docker学习路线9:运行容器

Docker学习路线9:运行容器

时间:2023-07-21 20:11:56浏览次数:50  
标签:容器 compose 路线 Compose Docker docker 运行

要启动一个新的容器,我们使用 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腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注

标签:容器,compose,路线,Compose,Docker,docker,运行
From: https://www.cnblogs.com/xiaowange/p/17572316.html

相关文章

  • java分布式从入门到架构学习路线?
    java分布式从入门到架构学习路线?初级阶段:1.Java基础知识:掌握Java语言的基本语法、面向对象编程的概念、集合框架和异常处理等基础知识。2.网络编程:了解Java网络编程的基本概念,学习Socket编程和网络通信协议,掌握TCP/IP和HTTP协议的基本原理。3.分布式系统概念:理解分布式系统......
  • Master 运行容器和不运行容器的影响
    1、安全性:Master节点包含着整个集群的重要控制和管理组件,如kube-apiserver、kube-controller-manager、kube-scheduler等。如果在Master节点上运行业务容器,会增加受到攻击的风险。因此,不运行业务容器有助于保持Master节点的纯净和安全。2、性能:Master节点负责处理集群的各种管理......
  • 【问题解决】docker版本v23.0后,构建Dockerfile中FROM私库镜像报错构建失败
    问题情况Docker版本在v23.0以后,只要Dockerfile中FROM的私库镜像不存在本地,就会报错:#我本地是v24.0.2版本Docker[root@localhostipd]#dockerbuild.-tharbor.xxx.com.cn/test/bap:2.7.1[+]Building0.6s(3/3)FINISHED......
  • Docker 入门
    Docker入门教程0x01概述用于构建、运行、传送应用程序的平台将操作系统、运行时环境、第三方软件库和依赖包、应用程序、环境变量、配置文件、启动命令一起打包特点应用隔离环境配置安装部署持续集成持续发布DevOps0x02基本原理和概念镜像(images):一个只......
  • linux查看docker的ip
    Linux查看Docker的IP作为一名经验丰富的开发者,我很乐意教会刚入行的小白如何在Linux上查看Docker的IP。在本篇文章中,我将向你展示整个流程,并提供每一步需要做的事情和相应的代码。步骤概览以下是查看Docker的IP的整个流程的步骤概览:步骤描述1列出正在运行的Docker容......
  • linux 获取 docker run 命令
    Linux获取DockerRun命令在使用Docker时,我们经常需要使用dockerrun命令来创建和运行容器。这个命令非常重要,因为它允许我们指定所需的镜像、容器的名称、端口映射等等。在本文中,我们将介绍如何在Linux系统中获取dockerrun命令,并提供示例代码以帮助您更好地理解。Linux中获取Doc......
  • linux 查看docker 容器内存
    查看Docker容器内存的流程为了查看Docker容器内存使用情况,我们可以按照以下步骤进行操作。下面是整个流程的简要概括:查看正在运行的Docker容器列表;选择你要查看的容器;进入容器的命令行界面;在容器内部使用特定的命令来查看内存使用情况。下面我们将详细介绍每一步所需......
  • docker配置文件输出helloworld
    1.在root下创建dockerfilesudo-itouchDockerfilevimDockerfile2.编写helloworld.gopakagemainimport"fmt"funcmain(){fmt.Println("Hello,World!")} 3.配置DockerfileFROMubuntu:22.04ASv1ENVMYNAME="WANGYIDI"WOR......
  • docker配置
    在ubuntu22.04.2版本配置 更新系统软件包:sudoaptupdate安装所需的依赖包,以允许APT使用HTTPS:sudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-common添加Docker官方的GPG密钥:curl-fsSLhttps://download.docker.com/linux/ubun......
  • k8s临时容器
    1.环境依赖k8s版本:v1.25+#低于1.25自行百度开启临时容器功能创建一个测试poddebug容器镜像2.创建临时容器#debugger:容器名称--copy-to:pod名称--image:临时容器的镜像--same-node:是否和被debug容器在同一节点上--share-processes:是否和被debug容......