Dart是一种客户端优化的语言,用于在任何平台上开发快速应用程序,旨在提供多平台开发的高效编程语言和灵活的应用框架运行时平台。

170 次收藏下载次数: 0状态:Docker 官方镜像维护者:Docker 官方镜像仓库类型:镜像最近更新:1 天前
下载命令
点击查看

Quick reference

  • Maintained by:
    The Dart Docker Team

  • Where to get help:
    https://dockr.ly/comm-slack, Server Fault, https://unix.stackexchange.com/help/on-topic, or https://stackoverflow.com/help/on-topic

Supported tags and respective Dockerfile links

  • https://github.com/dart-lang/dart-docker/blob/faad42f6d4173c0392b9892d990d23708e291bec/stable/trixie/Dockerfile

  • https://github.com/dart-lang/dart-docker/blob/faad42f6d4173c0392b9892d990d23708e291bec/beta/trixie/Dockerfile

Quick reference (cont.)

  • Where to file issues:
    https://github.com/dart-lang/dart-docker/issues?q=is:issue+is:pr

  • Supported architectures: (https://github.com/docker-library/official-images#architectures-other-than-amd64)
    https://hub.docker.com/r/amd64/dart/, https://hub.docker.com/r/arm32v7/dart/, https://hub.docker.com/r/arm64v8/dart/, https://hub.docker.com/r/riscv64/dart/

  • Published image artifact details:
    https://github.com/docker-library/repo-info/blob/master/repos/dart (https://github.com/docker-library/repo-info/commits/master/repos/dart)
    (image metadata, transfer size, etc)

  • Image updates:
    https://github.com/docker-library/official-images/issues?q=label%3Alibrary%2Fdart
    https://github.com/docker-library/official-images/blob/master/library/dart (https://github.com/docker-library/official-images/commits/master/library/dart)

  • Source of this description:
    https://github.com/docker-library/docs/tree/master/dart (https://github.com/docker-library/docs/commits/master/dart)

What is Dart?

Dart is an approachable, portable, and productive language for high-quality apps on any platform.

Its goal is to offer the most productive programming language for multi-platform development, paired with a flexible execution runtime platform for app frameworks, and support for full-stack development. For more details, see [***]

By utilizing Dart's support for ahead-of-time (AOT) https://dart.dev/tools/dart-compile#exe, you can create very small runtime images (~10 MB).

Using this image

We recommend using small runtime images that leverage Dart's support for ahead-of-time (AOT) https://dart.dev/tools/dart-build#build-a-cli-application. This enables creating small runtime images (~10 MB).

Creating a Dart server app

After https://dart.dev/get-dart the Dart SDK, version 2.14 or later, use the dart command to create a new server app:

shell
$ dart create -t server-shelf myserver

Running the server with Docker Desktop

If you have https://www.docker.com/get-started installed, you can build and run on your machine with the docker command:

shell
$ docker build -t dart-server .
$ docker run -it --rm -p 8080:8080 --name myserver dart-server

When finished, you can stop the container using the name you provided:

shell
$ docker kill myserver

Image documentation

Dockerfile

The Dockerfile created by the dart tool performs two steps:

  1. Using the Dart SDK in the dart:stable image, compiles your server (bin/server.dart) to an executable (server).

  2. Assembles the runtime image by combining the compiled server with the Dart VM runtime and it's needed dependencies located in /runtime/.

Dockerfile
# Specify the Dart SDK base image version using dart:<version> (ex: dart:3.10)
FROM dart:stable AS build

# Resolve app dependencies.
WORKDIR /app
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 build cli --target bin/server.dart -o output

# 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/output/bundle/ /app/

# Start server.
EXPOSE 8080
CMD ["/app/bin/server"]

.dockerignore

Additionally it creates a recommended .dockerignore file, which enumarates files that should be omitted from the built Docker image:

text
.dockerignore
Dockerfile
build/
.dart_tool/
.git/
.github/
.gitignore
.packages

--

Maintained with ❤️ by the https://dart.dev team.

License

View https://github.com/dart-lang/sdk/blob/master/LICENSE for the software contained in this image.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

Some additional license information which was able to be auto-detected might be found in https://github.com/docker-library/repo-info/tree/master/repos/dart.

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 dart 镜像标签

docker pull docker.xuanyuan.run/dart:<标签>

DockerHub 原生拉取命令

docker pull dart:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持专业版保障服务可用付费会员免广告