Есть ли какой-нибудь код dockerfile, касающийся базового образа фабрики гиперледжеров? - PullRequest
0 голосов
/ 06 февраля 2019

Посмотрев в github-репозиторий ткани, я могу найти только докер-файл с надписью "FROM _DOCKER_BASE_", который я не смог найти документированным.

Кто-нибудь знает, что такое «база докеров» и что контейнеры делают именно при развертывании?

Это второстепенная деталь вопроса.Я создаю консенсусный механизм на языке go, и меня беспокоит размер образа докера с помощью grpc и go, установленного в образе.Поэтому я проверил образы гиперлогов, которые меньше по размеру, и я хотел выяснить, как они реализованы.

Сначала я думал, что контейнеры выполняют транзакции, записанные в коде цепи в golang.Но я не вижу работающего контейнера иди настройки языка, поэтому я в замешательстве и ищу ответ

1 Ответ

0 голосов
/ 06 февраля 2019

Это означает, что dockerfile, который собирается использовать docker для создания вашего контейнера, нуждается в изображении для запуска "FROM".

На Dockerhub вы можете найти изображения, созданные для golang, например: https://hub.docker.com/_/golang?tab=description Там у вас есть информация не только о самом изображении, но и о том, как его использовать.

Так, например, если вы хотите использовать это изображение, вы должны сначала потянуть его:

docker pull golang

Затемсоответствующим образом измените файл Dockerfile, а затем запустите контейнер с вашими предпочтительными параметрами (обратите внимание, что приведенный ниже код взят из библиотеки github, и я не знаю подробностей о файле docker, просто и пример)

#
# Copyright Greg Haskins All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
FROM DOCKER_BASE
COPY scripts /tmp/scripts
RUN cd /tmp/scripts && \
    common/init.sh && \
    docker/init.sh && \
    common/cleanup.sh && \
    rm -rf /tmp/scripts

А затем создайте свой контейнер следующим образом: (изнутри, где находится dockerfile, вы можете сделать это извне, передав папку, в которой находится dockerfile и все, что связано с вашим будущим контейнером)

docker build -t mygoolangimage .

И после его сборки, есливсе в порядке, у вас будет новый образ, с которым вы могли бы работать:

docker run -d -p 5000:5000 --restart=always --name mygoolangcontainer mygoolangimage

Не зная, что файл сборки для сборкиДля этого нужно, чтобы изображение выглядело так, как будто вам нужно прочитать основы из докерских контейнеров, возможно, вы могли бы начать с https://docs.docker.com/get-started/, а затем создать что-то более простое.

Я мог бы разместить здесь информацию о том, как начать работатьс Docker, но на главном сайте есть все, что вам нужно.

----- РЕДАКТИРОВАТЬ -----

Часть "DOCKER_BASE" в github https://github.com/hyperledger/fabric-baseimage относится кmake-файл, имеющий следующую часть:

DOCKER_BASE_amd64=ubuntu:xenial
DOCKER_BASE_s390x=s390x/debian:stretch
DOCKER_BASE_ppc64le=ppc64le/ubuntu:xenial
DOCKER_BASE_armv7l=armv7/armhf-ubuntu

DOCKER_BASE=$(DOCKER_BASE_$(ARCH))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...