在docker compose中执行mysql命令时出错
当我执行xdcomp_my_sql_client命令时,它会ping ip,但当它试图到达mysql服务器时,它失败了。如果我在容器运行时执行完全相同的命令,它就会工作。在执行命令时,mysql服务器似乎没有运行。但是我使用了“depens_on”命令,那么我做错了什么 多谢各位在docker compose中执行mysql命令时出错,mysql,docker,docker-compose,dockerfile,Mysql,Docker,Docker Compose,Dockerfile,当我执行xdcomp_my_sql_client命令时,它会ping ip,但当它试图到达mysql服务器时,它失败了。如果我在容器运行时执行完全相同的命令,它就会工作。在执行命令时,mysql服务器似乎没有运行。但是我使用了“depens_on”命令,那么我做错了什么 多谢各位 version: '2' services: xdcomp_my_sql_server: image: mysql/mysql-server:latest environment: M
version: '2'
services:
xdcomp_my_sql_server:
image: mysql/mysql-server:latest
environment:
MYSQL_ROOT_PASSWORD: diego
MYSQL_USER: otro
MYSQL_PASSWORD: otro
MYSQL_ROOT_HOST: 172.28.0.101
networks:
SQLNetwork:
ipv4_address: 172.28.0.102
xdcomp_my_sql_client:
build: .
command: sh -c 'ping -c 5 172.28.0.102 && mysql -h 172.28.0.102 -u root -pdiego sys < /lafayette/forensic.sql && tail -f /etc/hostname'
ports:
- 83:80
networks:
SQLNetwork:
ipv4_address: 172.28.0.101
depends_on:
- xdcomp_my_sql_server
networks:
SQLNetwork:
driver: "bridge"
ipam:
config:
- subnet: 172.28.0.0/24
gateway: 172.28.0.201
使用docker包括两个步骤:
- 塑造形象
- 基于映像创建容器并运行此容器
Dockerfile
在构建映像时“执行”。此时,您没有任何容器,因此无法连接到它们。
你需要移动命令
运行cd-lafayette&mysql–h 172.25.0.102–u root–ppass sys
从Dockerfile
到
你能给我看看你的文件吗?我将尝试修复此问题。问题如下:在执行客户机命令时,mysql服务器未运行。即使当密钥“dependens_-on”(参见:)存在时,出于这个原因,解决方案仍然是等待mysql服务器。这是通过以下命令完成的: 命令:sh-c'直到nc-z-v-w20 172.28.0.102 3306;做睡眠1; echo“等待mysqlserver启动…”;完成和ping-c 5 172.28.0.102&& mysql-h 172.28.0.102-u root-pdiego sys&& tail-f/etc/hostname' 通过以下线路进行了等待: 直到nc-z-v-w20 172.28.0.102 3306;做睡眠1; echo“等待mysqlserver启动…”;完成
nc=netcat命令,它检查到给定ip和端口的连接谢谢,我现在明白为什么我这样做是错误的了。但我在尝试做我想做的事情时仍然有问题。我想在docker compose为这两个容器运行后,将数据库从客户端容器上载到服务器容器。我在docker compose中尝试了以下命令:command:sh-c'ping-c5172.28.0.102&&mysql-h172.28.0.102-u root-ppasssys
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install -y mysql-client
RUN apt-get install -y git
RUN git clone https://github.com/linkedin/lafayette
RUN apt-get update
RUN apt-get install -y python-dnspython
RUN apt-get install -y python-pip
RUN pip install Flask
RUN pip install python-dateutil
RUN apt-get install -y python-mysqldb
RUN pip install requests
RUN pip install multiprocessing
RUN pip install multiprocess
RUN apt-get install -y vim
RUN apt-get -y install iputils-ping