您可以轻松高效地将 MySQL 容器部署到Docker 容器中。部署过程不需要太多 Docker 容器的资源。对于中小型应用程序来说,它可能是非常有用的资源。企业级应用程序找不到足以满足其工作负载和部署过程的 MySQL Docker 容器。
如今,MySQL Docker 在小型应用程序中的使用正在迅速增加。它为数据库托管提供了一个单独的服务器来部署一个MySQL数据库容器。
多个容器可以在您的 Docker 计算机上同时运行。负责部署的容器具有与主机相同的库和内核,同时将部署的应用程序或软件打包成单个单元。这有助于使数据库快速高效地进行开发和部署。
在 Docker 中设置数据库基本上是基于 MySQL 映像构建容器。
按照以下步骤启动并运行 MySQL 容器。
sudo docker pull mysql/mysql-server:latest |
如果您想要特定版本的 MySQL Docker,可以将最新版本替换为任何其他版本号。
sudo docker 图片 |
输出还应包括 mysql/mysql-server 在 MySQL Docker 中列出的图像中。
sudo docker run --name=[container_name] -d [image_tag_name] |
将 [container.name] 替换为您为 MySQL Docker 选择的名称。如果您不提供名称,Docker 会自行生成一个随机名称。-d 选项允许 Docker 在软件后台将容器作为服务运行。
将 [image.tag.name] 替换为上面步骤 1 中下载的图像的名称。
在此示例中,我们在 MySQL Docker 中创建一个名为 mysql.docker 的容器,其最新版本标记如下所示:
sudo docker run --name=[container_name] -d mysql/mysql-server:latest |
泊坞窗 |
您应该会在程序的输出中看到新创建的容器。它包括容器详细信息,其中之一是此虚拟环境的状态。状态从 health: starting 变为 healthy 一旦设置完成并且系统给出正确的输出。
apt-get 安装 mysql-client |
sudo docker 日志 [container.name] |
对于 mysql_docker 容器,我们需要运行下面提供的不同命令:
sudo docker 记录 mysql.docker |
sudo docker exec -it [容器名称] bash |
对于您在 MySQL 容器中作为示例创建的容器,我们应该运行以下命令:
sudo docker -it mysql.docker bash |
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '[newpassword]'; |
现在您应该用您选择的强密码替换 [newpassword] 以保护您的数据和信息。
当其中运行的进程停止时,MySQL Docker 的容器会自动停止。
要在 docker 中启动 MySQL 容器,我们应该运行以下命令:
sudo docker start [container.name] |
要停止 MySQL 容器,我们应该使用以下命令:
sudo docker stop [container.name] |
为了在 MySQL 容器中重新启动,我们需要运行以下命令:
sudo docker restart [container.name] |
在删除 MySQL 容器之前,您必须确保先停止它。现在,您可以使用下面给出的命令从 MySQL 中删除 docker 容器:
sudo docker rm [容器名称] |
MySQL 中的 docker run 命令很快就会变得冗长且难以处理,尤其是当您的配置要求复杂时。在 Docker MySQL 中编写 docker-compose.yml 文件更易于维护。
下面提供了Docker 组合的示例:
版本:“3” 服务: 数据库: 图片:mysql:8.0 环境: - MYSQL_ROOT_PASSWORD 卷: - mysql:/var/lib/mysql 卷: 数据库: |
现在您将能够使用 MYSQL_ROOT_PASSWORD=secure docker-compose up -da 启动 MySQL
我们希望本文能帮助您了解 MySQL Docker。在本文中,我们讨论了 MySQL 各种类型进程的概念及其不同类型,以及示例,这些示例将有助于具有Java和 MySQL 背景的专业开发人员、应用程序架构、数据库工程师和其他学习 MySQL 信息的学习者Docker 与容器。
标签:mysql,mysql+docker,docker容器 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。