Chcę uruchomić Jenkinsa w kontenerze Docker. Wszystko w porządku. Mogę go uruchomić tak: docker run -d --name jenkins -t -i -p 49001:8080 jenkins
Mogę również dodać trwałe miejsce. Problem pojawił się, gdy utworzyłem potok rurociągu, który musi wykonać komendy docker
(build
i push
). Po pierwsze błąd polegał na tym, że okno dokowane nie było zainstalowane w systemie. Tak, oczekiwano. Następnie rozpocząłem wyszukiwanie i dowiedziałem się, jak uruchomić docker w kontenerze (przechodząc 2 trwałe woluminy): docker run ... -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -p 49001:8080 jenkins
Jenkins w kontenerze Docker (uruchom proces dokowania)
To działa, ale z pewnymi wyjątkami. W kontenerze znajduje się polecenie docker
, ale gdy próbuję go uruchomić, zgłasza wyjątek: docker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory
Jak mogę rozwiązać ten problem? Jaki jest poprawny sposób instalacji Jenkinsa w Dockerze i uruchomienia w nim Dockera? Myślę, że są 2 sposoby:
- Ten, który robię - używać gniazd
- mogę wystawiać API Döcker który umożliwia połączenia i polecenia uruchomione
Faktycznie warto uruchomiony Jenkins w Docker? Próbowałem zainstalować brakującą bibliotekę ręcznie od apt-get
Działa, ale wiem, że to nie jest poprawna metoda.
Czy https://www.vip-consult.solutions/post/easy-docker-swarm-jenkins-continuous-deployment-at-scale#content pomóc? – VonC