前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dockerfile配置MySQL镜像

Dockerfile配置MySQL镜像

原创
作者头像
青丝束马尾
发布2024-04-18 14:14:30
3940
发布2024-04-18 14:14:30

Dockerfile命令

代码语言:bash
复制
FROM mysql:5.7

# 复制 MySQL 5.7 安装包到容器中
COPY mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz /opt/software/mysql.tar.gz

# 设置环境变量
ENV MYSQL_ROOT_PASSWORD=sql123
ENV MYSQL_DATABASE=mydb
ENV MYSQL_USER=myuser
ENV MYSQL_PASSWORD=mypassword

# 在容器启动时自动生成 my.cnf 文件
RUN echo "[mysqld]" > /etc/mysql/my.cnf \
    && echo "datadir=/var/lib/mysql" >> /etc/mysql/my.cnf \
    && echo "socket=/var/run/mysqld/mysqld.sock" >> /etc/mysql/my.cnf \
    && echo "user=mysql" >> /etc/mysql/my.cnf \
    && echo "symbolic-links=0" >> /etc/mysql/my.cnf \
    && echo "log-error=/var/log/mysql/error.log" >> /etc/mysql/my.cnf \
    && echo "pid-file=/var/run/mysqld/mysqld.pid" >> /etc/mysql/my.cnf

# 创建日志文件目录并授权
RUN mkdir -p /var/log/mysql && chown -R mysql:mysql /var/log/mysql

# 授权安装目录
RUN chown -R mysql:mysql /var/lib/mysql

# 设置容器启动时执行的命令
CMD ["mysqld"]

# 映射端口并设置开机启动
EXPOSE 3306
ENTRYPOINT ["docker-entrypoint.sh"]

构建镜像命令

代码语言:bash
复制
# 构建镜像
docker build -t mysql-containe .

创建容器命令

代码语言:bash
复制
# 运行容器
docker run -d -p 3306:3306 --name mysql-custom -v /opt/software:/opt/software mysql-containe

宿主机登录容器内的mysql

代码语言:bash
复制
docker exec -it mysql-container mysql -uroot -p
或者
mysql -h <container_ip> -u root -p

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Dockerfile命令
  • 构建镜像命令
  • 创建容器命令
  • 宿主机登录容器内的mysql
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档