使用php执行docker,然后在命令中使用其他容器
我正在使用docker for php和另一个用于sql。我还有一个makefile,可以在这个容器的实例中运行命令。这是我用于命令执行的条目,我想使用我拥有的sql容器使用php执行docker,然后在命令中使用其他容器,docker,Docker,我正在使用docker for php和另一个用于sql。我还有一个makefile,可以在这个容器的实例中运行命令。这是我用于命令执行的条目,我想使用我拥有的sql容器 command: docker run --rm \ --volume=${PWD}/code:/code \ --volume=${PWD}/json:/json:rw \ --volume=${PWD}/file:/file:rw \ own_php:latest \ tim
command:
docker run --rm \
--volume=${PWD}/code:/code \
--volume=${PWD}/json:/json:rw \
--volume=${PWD}/file:/file:rw \
own_php:latest \
time php /code/public/index_hex.php ${page}
如果尝试从make文件执行此命令,则会出现以下错误
SQLSTATE[HY000][2002]php_network_getaddresses:getaddrinfo失败:
名称无法解析
这是我项目中的docker compose
version: '3'
services:
sql:
image: mariadb
ports:
- "3307:3306"
environment:
MYSQL_ROOT_PASSWORD: root
volumes:
- ./init-db:/docker-entrypoint-initdb.d
- ./.mysql-data:/var/lib/mysql/
crawler:
build:
context: './docker-base'
depends_on:
- sql
volumes:
- ./json:/json:rw
- ./file:/file:rw
- ./code:/code
但是如果我使用docker composer运行容器,并在容器中输入命令,那么命令执行得很好
docker run--rm
可以使用另一个容器?docker Compose,您必须手动将您的docker run
容器连接到该网络,以便能够访问其上的其他容器。根据保存撰写文件的目录的名称,网络通常会被命名为directoryname\u default
,它将显示在docker network ls
列表中
你应该像这样跑
docker run --rm --net directoryname_default ...