2015-10-22 6 views
2

я установил как gitlab-docker и jenkins-docker на том же сервере (мой ноутбук):как Дженкинс в доступа докер GIT-репо gitlab в другом докер

docker run --name gitlab-postgresql -d \ 
--env 'DB_NAME=gitlabhq_production' \ 
--env 'DB_USER=gitlab' --env 'DB_PASS=password' \ 
--volume /srv/docker/gitlab/postgresql:/var/lib/postgresql \ 
quay.io/sameersbn/postgresql:9.4-5 

docker run --name gitlab-redis -d \ 
--volume /srv/docker/gitlab/redis:/var/lib/redis \ 
quay.io/sameersbn/redis:latest 

docker run --name gitlab -d \ 
--link gitlab-postgresql:postgresql --link gitlab-redis:redisio \ 
--publish 10022:22 --publish 80:80 \ 
--env 'GITLAB_PORT=10080' --env 'GITLAB_SSH_PORT=10022' \ 
--env 'GITLAB_SECRETS_DB_KEY_BASE=long-and-random-alpha-numeric-string' \ 
--volume /srv/docker/gitlab/gitlab:/home/git/data \ 
quay.io/sameersbn/gitlab:8.0.5-1 

docker run --name myjenkins -p 8080:8080 -v /var/jenkins_home jenkins 

в myjenkins грузчиком, использовать Баш запустить

git ls-remote -h ssh://[email protected]:10022/rhtj/yirongtong.git HEAD 

или

git ls-remote -h ssh://[email protected]:10022/rhtj/yirongtong.git HEAD 

, который сказал:

ssh:connect to host localhost port 10022: Connection refused 
fatal: Could not read from remote repository. 

и я добавил ssh pub-key в gitlab, который не может работать. help !!

ответ

0

Если одному контейнеру (используя драйвер сетевого моста по умолчанию) необходимо связаться с другим, ему не нужно использовать отображаемый (на хост) порт.

Он будет использовать непосредственно порт, открытый другим контейнером (здесь порт 22).
Если контейнер jenkins может работать с контейнером gitlab с --link, это позволит избежать необходимости использовать ip-адрес localhost или докер-машины и сопоставленный порт: вы будете использовать непосредственно gitlab-server:22.

+0

thank u! It works: D –

+0

@ B.Ma Отлично! Не забудьте прочитать http://stackoverflow.com/help/accepted-answer – VonC

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