
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
The maritime domain is facing a number for challenges, mainly due to the increasing demand, that may increase the risk of an accident or loss of life. These challenges require technological solutions and e-Navigation is one such solution. The International Maritime Organization (IMO) adopted a ‘Strategy for the development and implementation of e‐Navigation’ (MSC85/26, Annexes 20 and 21), providing the following definition of e‐Navigation:
In response, the International Association of *** Authorities (IALA) published a number of guidelines such as G1113 and G1114, which establish the relevant principles for the design and implementation of harmonised shore-based technical system architectures and propose a set of best practices to be followed. In these, the terms Common Shore‐Based System (CSS) and Common Shore‐based System Architecture (CSSA) were introduced to describe the shore‐based technical system of the IMO’s overarching architecture.
To ensure the secure communication between ship and CSSA, the International Electrotechnical Commission (IEC), in coordination with IALA, compiled a set of system architecture and operational requirements for e-Navigation into a standard better known as SECOM. This provides mechanisms for secure data exchange, as well as a TS interface design that is in accordance with the service guidelines and templates defined by IALA. Although SECOM is just a conceptual standard, the Maritime Connectivity Platform (MCP) provides an actual implementation of a decentralised framework that supports SECOM.
The GLA follow the developments on e-Navigation closely, contributing through their role as an IALA member whenever possible. As part of their efforts, a prototype GLA e-Navigation Service Architecture is being developed by the GLA Research and Development Directorate (GRAD), to be used as the basis for the provision of the future GLA e-Navigation services.
As a concept, the CSSA is based on the Service Oriented Architecture (SOA). A pure-SOA approach however was found to be a bit cumbersome for the GLA operations, as it usually requires the entire IT landscape being compatible, resulting in high investment costs. In the context of e-Navigation, this could become a serious problem, since different components of the system are designed by independent teams/manufacturers. Instead, a more flexible microservice architecture was opted for. This is based on a break-down of the larger functional blocks into small independent services, each responsible for performing its own orchestration, maintaining its own data and communicating through lightweight mechanisms such as HTTP/HTTPS. It should be pointed out that SOA and the microservice architecture are not necessarily that different. Sometimes, microservices are even ***ed as an extension or a more fine-grained version of SOA.
As per the G-1114, there is a need for a UIA service. In the current implementation, this is provided by the Nautical Information Directory (Niord), a system able to produce and publish Navigational Warnings (NW) and Notices to Mariners T&P (NM). It was originally developed as part of the EfficienSea2 EU project and subsequently implemented as a production system for the Danish Maritime Authority (DMA). For the needs of the current project however, the original code was ported onto the latest Red-Hat https://quarkus.io/ and https://angular.io/ frameworks. In addition, the capability was added to generate AtoN information, which can then be encoded into the IHO S-125 data format. Any update on the AtoN information is communicated to the “Message Broker” microservice, so that all other microservices that have subscribed to receive updates will be notified. It has to be noted here that although Niord is a very useful component of the demonstrator test-bed, it is a not a core component of the architecture and any other NW/NM/AtoN management system could be used instead, at least as long as it is able to generate S-100 compliant data.
This image can be used in just like a normal Docker container, but providing the necessary environment variables while running it. The available environment variables for configuring the application are presented in the following table.
| Variable | Description | Default Value |
|---|---|---|
| KEYCLOAK_URL | The URL of the OpenID Connect Keycloak server | http://localhost:8080 |
| KEYCLOAK_REALM | The realm used for the OpenID Connect authentication | niord |
| KEYCLOAK_SECRET | The secret used for the OpenID Connect authentication | secret |
| AMQP_SERVER | The server hostname of the AMQP (Apache Artemis) server | localhost |
| AMQP_PORT | The port used for the AMQP connection | 5672 |
| AMQP_USERNAME | The username for the AMQP connection | username |
| AMQP_PASSWORD | The password for the AMQP connection | password |
| DB_SERVER | The server hostname of the database (MySQL) server | localhost |
| DB_PORT | The port used for the database (MySQL) connection | 3306 |
| DB_NAME | The name of the database to connect to | niordq |
| DB_USERNAME | The username for the database connection | username |
| DB_PASSWORD | The password for the database connection | password |
| EUREKA_SERVER | The server hostname of the eureka server | N/A |
In order to run the image you just need to provide the values of the environment variables presented previously. If the default values are sufficient then they can be omitted.
This can be done in the following way:
docker run -t -i --rm \ -p 8888:8888 \ -v /path/to/config-directory/on/machine:/conf \ -e KEYCLOAK_URL='[***] \ -e KEYCLOAK_REALM='niord' \ -e KEYCLOAK_SECRET='secret' \ -e AMQP_SERVER='amqp.server.com' \ -e AMQP_PORT='5672' \ -e AMQP_USERNAME='niordq' \ -e AMQP_PASSWORD='password' \ -e DB_SERVER='database.server.com' \ -e DB_NAME='niordq' \ -e DB_PORT='3306' \ -e DB_USERNAME='niordq' \ -e DB_PASSWORD='password' \ -e EUREKA_SERVER='eureka.server.com' \ <image-id>
The original Niord system has extensive documentation already available online and you are advised to read this carefully before proceeding. It can found in this online location.
In the current Quarkus-based implementation, Niord is utilised as an AtoN and Navigational-Warning (NW)/Notice-to-Mariners (NM) administration tool. The ability of the software to encode the data into the appropriate S-100 data products is paramount, since this is the legitimate input format accepted by the system. Over the course of this project, Niord was upgraded to use the developed https://github.com/gla-rad/S-125 library. This was achieved by introducing a new module into Niord, making use of its modular and extendable design.
The use of the S-125 library differs from the way Niord originally generated S-100 data, for example for the defined NW/NM entries. This operation was designed to be controlled by a set of FreeMarker1 scripts. This method had the advantage of being updatable on runtime. It is however a technology not supported by the S-100 data product specifications themselves, so potential inconsistencies are quite likely, at least in the initial stages of the system deployment. In contrast, a method based solely on the official S-100 XSD resources is much more reliable and can be directly version-controlled and maintained.
For contributing in this project, please have a look at the Github repository https://github.com/gla-rad/niord-uk. Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
Distributed under the Apache License, Version 2.0.
Nikolaos Vastardis -
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务