Ubuntu 安装docker docker-compose

发布时间:2026/8/29 14:10:23

Ubuntu 安装docker docker-compose
Docker 通过提供轻量级、可移植且高效的解决方案简化了软件开发和部署。“docker build”命令是 Docker 镜像创建过程的核心。本文将探讨 Docker 构建命令、用法以及 Docker 构建的优化。Docker 构建有什么作用Docker build 是一个命令行界面 CLI命令允许你根据 Dockerfile 中指定的指令构建 Docker镜像。它使镜像创建过程自动化确保了一致性和可重复性。Docker 构建是如何工作的Docker 构建通过执行 Dockerfile 中的指令序列来创建镜像。这些指令包括复制文件、安装依赖项和执行命令等操作。当运行docker build命令时Docker 守护进程会逐条读取并执行 Dockerfile 中的指令每条指令都会生成一个轻量级的只读层。这些层被堆叠起来形成最终的镜像。为了提高效率Docker 会缓存那些自上次构建以来未发生变化的层这样在后续的构建中就可以直接使用这些缓存层而无需重新构建从而大幅缩短构建时间。完成所有指令后Docker 将生成一个包含应用程序及其所有依赖项的最终镜像这个镜像随时准备被用来运行容器。Linux安装安装 Docker安装必要的依赖包sudo apt-get install apt-transport-https ca-certificates curl software-properties-common添加 Docker 的官方 GPG 密钥curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -添加 Docker APT 源sudo add-apt-repository deb [archamd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable更新软件包索引sudo apt-get update安装 Docker CE (社区版)sudo apt-get install -y docker-ce docker-ce-cli containerd.io验证 Docker 是否安装成功sudo docker --version Docker version 24.0.5, build 12345678启动并设置 Docker 开机自启sudo systemctl start docker sudo systemctl enable docker将当前用户加入 docker 用户组默认情况下只有 root 用户或 docker 用户组的成员才能运行 Docker 命令。如果您希望当前用户无需使用 sudo 即可运行 Docker可以将用户加入 docker 用户组sudo usermod -aG docker $USER然后重新登录终端或重启系统以使更改生效。检查 Docker 服务是否正在运行sudo reboot #重启 sudo systemctl status docker测试 Dockerdocker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly.该命令会从 Docker Hub 上拉取hello-world镜像并在容器中运行。如果成功会在终端中看到一段欢迎信息。安装docker-composedocker-compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 docker-compose你可以使用 YAML 文件来配置应用程序的服务、网络和卷。它简化了复杂应用的配置和启动过程使得管理和部署多个相互依赖的容器变得非常简单。# 删除旧版本如果有 sudo rm -f /usr/local/bin/docker-compose #离线安装 wget -c --no-check-certificate https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-Linux-x86_64 sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose # 或者使用阿里云镜像源下载 sudo curl -L https://mirrors.aliyun.com/docker-toolbox/linux/compose/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose # 检查下载内容是否为二进制文件 file /usr/local/bin/docker-compose #/usr/local/bin/docker-compose: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]..., not stripped # 赋予执行权限 sudo chmod x /usr/local/bin/docker-compose # 验证安装 docker-compose --version运行容器服务在docker-compose.yml文件所在目录运行容器服务docker-compose up -ddocker-compose.yml根据 build.context 如果你没有显式指定 context默认值是当前目录查找目录下的 Dockerfile构建。在使用 docker-compose up 时Docker Compose 默认会自动加载当前目录下的 .env 文件用于替换或设置 docker-compose.yml 中的环境变量.Dockerfile例子FROM registry.cn-hangzhou.aliyuncs.com/hyperf/hyperf:8.1-alpine-v3.18-swoole-v5.0 LABEL maintainerHyperf Developers grouphyperf.io version1.0 licenseMIT app.nameHyperf ARG build_envprod ENV BUILD_ENV${build_env:-prod} \ SCAN_CACHEABLE(false) WORKDIR /www COPY . /www RUN cd /www \ composer install --no-dev -o \ composer clearcache \ php bin/hyperf.php EXPOSE 8080 8888 8889 ENTRYPOINT [php, /www/bin/hyperf.php, start]docker-compose.yml 文件详解docker-compose.yml 文件用于定义服务、网络和卷。这个文件使用 YAML 格式编写并且可以通过它来描述多个容器之间的关系以及它们的配置。下面是一个详细的解释帮助你理解如何编写和使用 docker-compose.yml 文件。version: 3.4 services: project: image: shanghai.aliyuncs.com/hyperf-work/skeleton:hyperf-8.1 container_name: test-api restart: always ports: - 9005:8080 volumes: - ./:/www entrypoint: [php, /www/bin/hyperf.php, start] #entrypoint: [sleep, 3600] networks: - test-api environment: - APP_ENVdev - SCAN_CACHEABLEfalse networks: test-api: driver: bridgeimage: 使用的镜像地址这里是阿里云的一个私有镜像仓库中的 Hyperf 项目镜像。container_name: 容器名称命名为 test-api。build: 如果需要从 Dockerfile 构建镜像可以指定路径。depends_on: 表示依赖的服务但请注意这不会等待直到依赖服务完全启动。restart: 设置容器重启策略为 always即无论退出状态如何Docker 都会自动重启该容器。environment: 设置环境变量。ports:端口映射将主机的 9005 端口映射到容器的 8080 端口。可以使用9005或者8080访问volumes: 卷挂载将当前目录.挂载到容器内的 /www 目录。command: 覆盖默认的命令entrypoint: 容器启动时执行的命令这里是启动 Hyperf 应用。networks: 容器连接的网络指定为 test-api 网络。test-api: 定义了一个名为 test-api 的自定义网络使用 bridge 网络驱动。WIN安装安装Docker Desktop需要确保开启 BIOS 虚拟化任务管理器 性能 查看 CPU 信息中的虚拟化​ 状态Windows 需启用 WSL2先配置国内镜像加速必做打开 Docker Desktop → 右上角 ⚙️Settings→ 左侧Docker Engine。把 JSON 改成下面直接复制替换{ builder: { gc: { defaultKeepStorage: 20GB, enabled: true } }, registry-mirrors: [ https://docker.1ms.run, https://hub-mirror.c.163.com, https://mirror.ccs.tencentyun.com, https://mirrors.aliyun.com ], features: { buildkit: true }, experimental: false }点Apply Restart等待重启完成。curl -I https://ccr.ccs.tencentyun.com HTTP/2 200 date: Thu, 28 May 2026 05:28:57 GMT content-type: text/html content-length: 612 last-modified: Tue, 17 Apr 2018 15:22:36 GMT etag: 5ad6113c-264 accept-ranges: bytes strict-transport-security: max-age15724800; includeSubDomains返回HTTP/1.1 200 OK→可用超时 / 连接失败 →不可用删掉使用命令行启动类似linux在容器里能看到已经启动

相关新闻

自主行动AI Agent实战:从零搭建自动操作网页的智能体

自主行动AI Agent实战:从零搭建自动操作网页的智能体

2026/8/29 14:10:23

这次我们来看一个 Agent 自主行动的真实案例:为了让用户抢到热门健身课的一个名额,一个 AI Agent 自己完成了一整套网页操作,最终拿到了结果。新闻标题用了 “Rogue AI agent hacks gym” 来形容它,其实多数时候这不是在攻击系统漏…

AI 编码新范式:SHA 绑定 spec 审批,从 issue 到 reviewed PR

AI 编码新范式:SHA 绑定 spec 审批,从 issue 到 reviewed PR

2026/8/29 14:00:23

AgentMachinist 这个项目在 Show HN 上展示的核心信息很短:issue to reviewed PR。从一个 issue 出发,最后得到一个经过审查的 pull request。很多 AI 编程工具现在都能做到“从 issue 生成 PR”,但 reviewed 这个限定词,让它的思…

前端安全——最新:lodash原型漏洞从发现到修复全过程

前端安全——最新:lodash原型漏洞从发现到修复全过程

2026/8/29 14:00:23

人生的精彩就在于你永远不知道惊喜和意外谁先来,又是一个平平无奇的早晨,我收到了一份意外的惊喜——前端某项目出现lodash依赖原型污染漏洞。咋一听,很新奇。再仔细一看,呕吼,更加好奇了~然后就是了解和修补漏洞之旅。…

如何把扫描件变成结构化文本:PaddleOCR 文档识别从安装到出结果的完整教程

如何把扫描件变成结构化文本:PaddleOCR 文档识别从安装到出结果的完整教程

2026/8/29 15:20:26

如何把扫描件变成结构化文本:PaddleOCR 文档识别从安装到出结果的完整教程 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between images/PDFs and LLM…

四索并联机构正解:从欠约束建模到实时动力学求解

四索并联机构正解:从欠约束建模到实时动力学求解

2026/8/29 15:20:26

简介:本资源面向机器人学与机械工程领域的高校研究者、研究生及自动化方向工程师,聚焦四索并联机构的核心建模与分析问题,提供可直接运行的运动学与动力学计算工具。压缩包含3个MATLAB脚本文件(.m),总大小仅…

MiniMax H3开源视频生成模型本地部署与Ray分布式推理实践指南

MiniMax H3开源视频生成模型本地部署与Ray分布式推理实践指南

2026/8/29 15:20:26

从 2025 年上半年开始,“开源视频生成模型”突然从一个概念变成了可以触碰的现实。MiniMax H3 的开源,让很多人第一次意识到:原来不用 Sora,不用付费接口,也能在本地 GPU 上跑起一个效果不错的视频生成模型。而 RaySum…

Ventoy 启动盘完整教程:一次安装永久复用,3 步搞定 Windows/Linux 多系统镜像

Ventoy 启动盘完整教程:一次安装永久复用,3 步搞定 Windows/Linux 多系统镜像

2026/8/29 15:20:26

Ventoy 启动盘完整教程:一次安装永久复用,3 步搞定 Windows/Linux 多系统镜像 【免费下载链接】Ventoy A new bootable USB solution. 项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy 你有没有过这种崩溃瞬间:凌晨客户机掉…

Crawl4AI 实战指南:登录状态、JS 渲染页面与数据提取一次搞定

Crawl4AI 实战指南:登录状态、JS 渲染页面与数据提取一次搞定

2026/8/29 15:20:26

Crawl4AI 实战指南:登录状态、JS 渲染页面与数据提取一次搞定 【免费下载链接】crawl4ai 🚀🤖 Crawl4AI: Open-source LLM Friendly Web Crawler & Scraper. Dont be shy, join here: https://discord.gg/jP8KfhDhyN 项目地址: https:/…

端侧AI工程落地:模型转换、量化与推理引擎选型

端侧AI工程落地:模型转换、量化与推理引擎选型

2026/8/29 15:10:26

端侧AI正在成为硬件厂商和应用开发者共同争夺的新入口。判断一个设备是否具备智能能力,过去看它能不能联网调用云端模型,现在看它在本地、离线、低延迟条件下能不能完成推理。手掌上的手机、桌面上的电脑、车轮上的汽车,是当前端侧AI落地最密…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/27 11:10:02

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/29 10:22:10

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/28 7:34:42

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

四款热门降AI工具测评:研究生和本科生怎么选?

四款热门降AI工具测评:研究生和本科生怎么选?

2026/8/29 0:09:39

马上要交论文了,最近真的被论文ai率折磨的够呛。 明明查重都没问题了,但是ai率就是居高不下,崩溃了,明明都是我自己写的,天杀的,明明都是我亲生的啊 改来改去,终于给我搞出一套完美的降ai方案…

论文降AI率免费攻略:自查、提示词与工具推荐

论文降AI率免费攻略:自查、提示词与工具推荐

2026/8/29 0:09:39

马上要交论文了,最近真的被论文ai率折磨的够呛。 明明查重都没问题了,但是ai率就是居高不下,崩溃了,明明都是我自己写的,天杀的,明明都是我亲生的啊 改来改去,终于给我搞出一套完美的降ai方案…

北京GEO优化服务商推荐:预算型企业如何选北京GEO优化服务商?

北京GEO优化服务商推荐:预算型企业如何选北京GEO优化服务商?

2026/8/29 0:09:39

前言:预算有限的企业更关心投入能否形成可持续的品牌资产。评估北京GEO优化服务商时,不能只比较单篇内容或单月报价,还要看是否能够把问题词、官网、信源和监测串成完整链路。本期重点放在预算配置、试点范围和交付边界,帮助企业先…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/28 7:35:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/28 7:34:51

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/28 7:34:35

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…