Я запускаю электрический поток в док-контейнере в моем виртуальном ящике Ubuntu с помощью команды docker: docker run --name efserver --hostname = efserver -d -p 8080: 8080 -p 9990: 9990-p 7800: 7800 -p 7070: 80 -p 443: 443 -p 8443: 8443 -p 8200: 8200 -i -t ecdocker / eflow-ce.Внутри этого док-контейнера я хочу установить и запустить docker, чтобы мой конвейер CI / CD в электрическом потоке мог получить доступ и использовать команды докера.
Из приведенного выше описания ecdocker/eflow-ce
- ваш CI/ CD решение контейнера, и вы просто хотите использовать docker command
в этом контейнере, тогда вам не нужно решение dind.Вы можете просто получить доступ к серверу докера хоста контейнера.
Примерно так:
docker run --privileged --name efserver --hostname=efserver -d -p 8080:8080 -p 9990:9990 -p 7800:7800 -p 7070:80 -p 443:443 -p 8443:8443 -p 8200:8200 -v $(which docker):/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock -i -t ecdocker/eflow-ce
По сравнению со старой командой:
- Добавить
--privileged
- Добавить
-v $(which docker):/usr/bin/docker
, затем вы можете использовать docker client
в контейнере. - Добавить
-v /var/run/docker.sock:/var/run/docker.sock
, затем вы можете получить доступ к демону Docker хоста с помощью клиента в контейнере.