【发布时间】:2020-04-04 11:31:25
【问题描述】:
喂! 我想将我的生产数据库备份恢复到我的 docker 中。所以,我想从外部服务器将它下载到我的容器中。它失败了,因为 ssh 密码...
这是我的 Dockerfile
FROM mysql:5.6
ENV MYSQL_ROOT_PASSWORD password
EXPOSE 3306
COPY ./scripts /docker-entrypoint-initdb.d/
RUN apt-get update && apt-get install -y ssh
COPY ./ssh /home/mysql/.ssh
我下载sql文件的脚本是
completePath=$(ssh -T user@host.ip << EOF
cd /home/data/last/2020*
sourcePath=\$PWD
databaseURI=\`ls gran*\`
sourcePath=\$sourcePath/\$databaseURI
echo \$sourcePath
EOF
)
echo $completePath
scp user@host.ip:/$completePath $PWD
mv database.dmp database.sql
脚本在 Docker 之外运行良好。 这是我的错误
docker run --name database -p 3306:3306 prod-database
权限被拒绝,请重试。 从 host.ip 端口 22:2 收到断开连接:身份验证失败太多 身份验证失败。
希望你能帮助我!谢了!
【问题讨论】:
标签: docker ssh dockerfile