Docker部署dart-frog服务

# 在此处添加PUB_HOSTED_URL 和 FLUTTER_STORAGE_BASE_URL

ENV PUB_HOSTED_URL=“https://pub.flutter-io.cn”
ENV FLUTTER_STORAGE_BASE_URL=“https://storage.flutter-io.cn”

WORKDIR /app

Copy Dependencies

Install Dependencies

Resolve app dependencies.

COPY pubspec.* ./
RUN dart pub get

Copy app source code and AOT compile it.

COPY . .

Ensure packages are still up-to-date if anything has changed

RUN dart pub get --offline
RUN dart compile exe bin/server.dart -o bin/server

Build minimal serving image from AOT-compiled /server and required system

libraries and configuration files stored in /runtime/ from the build stage.

FROM scratch
COPY --from=build /runtime/ /
COPY --from=build /app/bin/server /app/bin/

Start server.

CMD [“/app/bin/server”]

部署服务器

然后把 build/ 放到服务器

需要先查看Docker 有没有 dart 环境,如果没有就下载一下

docker pull dart:latest

在服务器下进入文件夹执行一下指令,构建项目(Custom Dockerfile

docker build . -t dart-frog-app

如果没有修改Dockerfile文件,编译的时候会报错

[+] Building 49.2s (8/13)                                                                                docker:default
 => [internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 912B                                                                               0.0s
 => [internal] load metadata for docker.io/library/dart:stable                                                    21.9s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 126B                                                                                  0.0s
 => [build 1/7] FROM docker.io/library/dart:stable@sha256:7e0b4e5d3773c61b5d5b42908f48853fab04c33a080c6f73ee3a99b  0.0s
 => [internal] load build context                                                                                  0.0s
 => => transferring context: 428B                                                                                  0.0s
 => CACHED [build 2/7] WORKDIR /app                                                                                0.0s
 => CACHED [build 3/7] COPY pubspec.* ./                                                                           0.0s
 => ERROR [build 4/7] RUN dart pub get                                                                            27.1s

> [build 4/7] RUN dart pub get:
0.531 Resolving dependencies…
27.06 Got socket error trying to find package test at https://pub.dev.

Dockerfile:15

13 |     # Resolve app dependencies.
  14 |     COPY pubspec.* ./
  15 | >>> RUN dart pub get
  16 |
  17 |     # Copy app source code and AOT compile it.

ERROR: failed to solve: process “/bin/sh -c dart pub get” did not complete successfully: exit code: 69

成功情况下

[+] Building 101.6s (14/14) FINISHED                                                                     docker:default
 => [internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 916B                                                                               0.0s
 => [internal] load metadata for docker.io/library/dart:stable                                                    88.6s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 126B                                                                                  0.0s
 => [build 1/7] FROM docker.io/library/dart:stable@sha256:7e0b4e5d3773c61b5d5b42908f48853fab04c33a080c6f73ee3a99b  0.0s
 => [internal] load build context                                                                                  0.0s
 => => transferring context: 428B                                                                                  0.0s
 => CACHED [build 2/7] WORKDIR /app                                                                                0.0s
 => CACHED [build 3/7] COPY pubspec.* ./                                                                           0.0s
 => [build 4/7] RUN dart pub get                                                                                   6.9s
 => [build 5/7] COPY . .                                                                                           0.1s
 => [build 6/7] RUN dart pub get --offline                                                                         1.3s
 => [build 7/7] RUN dart compile exe bin/server.dart -o bin/server                                                 3.9s
 => [stage-1 1/2] COPY --from=build /runtime/ /                                                                    0.1s
 => [stage-1 2/2] COPY --from=build /app/bin/server /app/bin/                                                      0.1s
 => exporting to image                                                                                             0.1s
 => => exporting layers                                                                                            0.1s
 => => writing image sha256:248f909c7afe366ebd0f045fb76eac2c491d840ffa22ce9609df3c56ac42125a                       0.0s
 => => naming to docker.io/library/dart-frog-app                                                                   0.0s

View build details: docker-desktop://dashboard/build/default/default/vr5kryu8vmt430i7hgx6vl9jw

What’s Next?
  1. Sign in to your Docker account → docker login
  2. View a summary of image vulnerabilities and recommendations → docker scout quickview

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
[外链图片转存中…(img-16Kr9GAi-1712831129438)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值