基于mysql容器安装xtrabackup
FROM mysql:8.0.28-debian
RUN apt-get update \
&& apt-get install -y wget openssh-server \
&& wget https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.28-21/binary/tarball/percona-xtrabackup-8.0.28-21-Linux-x86_64.glibc2.17-minimal.tar.gz \
&& tar -xvf percona-xtrabackup-8.0.28-21-Linux-x86_64.glibc2.17-minimal.tar.gz \
&& mv percona-xtrabackup-8.0.28-21-Linux-x86_64.glibc2.17-minimal /usr/local/xtrabackup \
&& mkdir /run/sshd
ENV PATH=$PATH:/usr/local/xtrabackup/bin
ENV GOSU_VERSION 1.16
ENV MYSQL_MAJOR 8.0
ENV MYSQL_VERSION 8.0.35-1debian11
VOLUME /var/lib/mysql
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 3306 33060
CMD ["mysqld"]
FROM glf9832/mysql-xtrabackup-sshd:8.0.28
RUN apt-get install -y runit
COPY ./id_rsa.pub /root/.ssh/authorized_keys
RUN mkdir /run/sshd \
&& mkdir -p /etc/service/sshd \
&& echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config \
&& echo ' StrictHostKeyChecking no' >> /etc/ssh/ssh_config \
&& chmod 700 /root/.ssh \
&& chmod 600 /root/.ssh/authorized_keys
COPY runit-sshd /etc/service/sshd/run
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /etc/service/sshd/run
ENV PATH=$PATH:/usr/local/xtrabackup/bin
ENV GOSU_VERSION 1.16
ENV MYSQL_MAJOR 8.0
ENV MYSQL_VERSION 8.0.35-1debian11
VOLUME /var/lib/mysql
ENTRYPOINT ["docker-entrypoint.sh"]
EXPOSE 3306 33060
CMD ["mysqld"]
docker run --name mysql -d \
-v /Users/greene/workspace/mysql-data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-p 2222:22 \
glf9832/mysql-xtrabackup-sshd:8.0.28
本文来自博客园,作者:GreeneGe,转载请注明原文链接:https://www.cnblogs.com/greene/p/17830684.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义