是否可以使用Docker容器从运行docker-compose
命令?例如,我正在尝试从Docker容器中安装https://datahubproject.io/docs/quickstart/,该容器是使用如下所示的Dockerfile构建的。Dockerfile将创建一个Linux容器,该容器具有datahubproject.io
项目所需的先决条件(Python)并将存储库代码克隆到Docker容器中,然后我希望能够从存储库代码执行Docker编写脚本(克隆到新构建的Docker容器)来创建运行datahubproject.io
项目所需的Docker容器。这不是一个docker提交问题。
要尝试此操作,我有以下docker-compose.yml
脚本:
version: '3.9'
# This is the docker configuration script
services:
datahub:
# run the commands in the Dockerfile (found in this directory)
build: .
# we need tty set to true to keep the container running after the build
tty: true
...和一个Dockerfile(用于根据datahubproject.io quickstart
所需的要求设置Linux环境):
FROM debian:bullseye
ENV DEBIAN_FRONTEND noninteractive
# install some of the basics our environment will need
RUN apt-get update && apt-get install -y \
git \
docker \
pip \
python3-venv
# clone the GitHub code
RUN git clone https://github.com/kuhlaid/datahub.git --branch master --single-branch
RUN python3 -m venv venv
# # the `source` command needs the bash shell
SHELL ["/bin/bash", "-c"]
RUN source venv/bin/activate
RUN python3 -m pip install --upgrade pip wheel setuptools
RUN python3 -m pip install --upgrade acryl-datahub
CMD ["datahub version"]
CMD ["./datahub/docker/quickstart.sh"]
我从这两个脚本所在的命令行运行docker compose up
,以运行Dockerfile并创建将用于安装datahubproject.io
项目的启动容器。
我收到此错误:
datahub-datahub-1 | Quickstarting DataHub: version head
datahub-datahub-1 | Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
datahub-datahub-1 | No Datahub Neo4j volume found, starting with elasticsearch as graph service
datahub-datahub-1 | ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
我不知道我正在尝试做的事情是否可能与Docker。有什么建议,使这项工作?-谢谢
2条答案
按热度按时间wqsoz72f1#
docker-compose
命令是否可以从Docker容器中执行?是的。和其他命令一样。
是否可以使用Docker容器从运行Docker-compose命令?
是的。
有什么建议可以让它工作吗?
与主机上的Docker类似。运行Docker守护进程或使用
DOCKER_HOST
连接到一个守护进程。DIND与https://hub.docker.com/_/docker相关。yc0p9oo02#
答案似乎是修改
docker-compose.yml
脚本以包含两个附加设置: