2016-03-02 3 views
0

Я новичок в Докер и пытаюсь настроить автоматическую сборку моего Github Repo:Dockerfile Automated Build из Github- категории не найдено

https://github.com/satishsa1107/perl_helloworld

Я добавил Dockerfile со следующим кодом:

FROM satishsa1107/perl_helloworld:latest 
CMD perl hello.pl 

Мой DockerHub настроен здесь:

docker.io/satishsa1107/perl_helloworld

Когда я пытаюсь построить его, я получаю следующее сообщение об ошибке:

Sending build context to Docker daemon 58.37 kB Sending build context to Docker daemon 58.37 kB 
Step 1 : FROM satishsa1107/perl_helloworld:latest 
Pulling repository docker.io/satishsa1107/perl_helloworld 
Tag latest not found in repository docker.io/satishsa1107/perl_helloworld 
ERROR: Build process returned exit code 1 
ERROR: Build in 'master' (ef8abd92) failed in 0:00:16 

Я не получить его, потому что, когда я установил мои параметры сборки в DockerHub, я добавил следующие настройки:

Type  Name  Dockerfile Location Docker Tag Name 
branch master /     latest 

Я предполагал, что это означало, что это была метка моей главной ветви в моем Github Repo как последняя, ​​и я мог бы называть ее как satishsa1107/perl_helloworld: последняя, ​​но, похоже, не работает.

Кроме того, в DockerHub я вижу теги как пустые. Что я делаю не так?

ответ

2

Оператор FROM всегда является базовым изображением, которое вы хотите использовать для составления собственного изображения, поэтому в этом случае Docker ищет изображение docker.io/satishsa1107/perl_helloworld:latest, чтобы скомпилировать ваше изображение, поэтому оно не будет работать.

Я рекомендую вам прочитать больше о Dockerfile здесь: https://docs.docker.com/engine/reference/builder/

Возможный вариант для вашей команды FROM это ссылаться на стандартный Perl, как указано здесь: https://hub.docker.com/_/perl/

Dockerfile будет выглядеть следующим образом:

ROM perl:5.20 
COPY . /usr/src/myapp 
WORKDIR /usr/src/myapp 
CMD [ "perl", "./hello.pl" ] 
+0

Я создал этот примерный проект, чтобы проверить Docker, так что, возможно, это не очень хороший пример. Я предполагаю, что мой главный вопрос касается «последнего» тега, который не связан с моей главной ветвью. – noobuntu

+0

@noobuntu нет никакой реальной связи между вашим тегом Docker и веткой GIT, эта конфигурация на Docker HUB означает, что всякий раз, когда вы нажимаете что-то в своем докере филиала, вы будете тянуть его и строить новое изображение докеров (на основе вашего файла Docker и автоматического нажатия это на последнем тесте Docker). Таким образом, ваш код на главном GIT вызовет сборку последнего изображения Docker. –

Смежные вопросы