摘要: 首先,我们将看看在容器中运行数据库,以及我们如何使用卷和网络来持久化我们的数据并允许我们的应用程序与数据库对话然后我们将把所有东西放在一个Compose文件中,它允许我们用一个命令设置和运行本地开发环境最后,我们将看看将...
首先,我们将看看在容器中运行数据库,以及我们如何使用卷和网络来持久化我们的数据并允许我们的应用程序与数据库对话然后我们将把所有东西放在一个 Compose 文件中,它允许我们用一个命令设置和运行本地开发环境最后,我们将看看将调试器连接到我们在容器内运行的应用程序 无需下载 MySQL,安装,配置,然后将 MySQL 数据库作为服务运行,我们可以使用 MySQL 的 Docker 官方镜像并在容器中运行它。 在容器中运行 MySQL 之前,我们将创建几个卷,Docker 可以管理这些卷来存储我们的持久数据和配置让我们使用 Docker 提供的托管卷功能,而不是使用绑定挂载您可以在我们的文档中阅读有关使用卷的所有信息 现在让我们创建我们的卷我们将为数据创建一个,为 MySQL 的配置创建一个 $ docker volume create mysql_data $ docker volume create mysql_config 现在我们将创建一个网络,我们的应用程序和数据库将使用该网络相互通信该网络称为用户定义的桥接网络,它为我们提供了一个很好的 DNS 查找服务,我们可以在创建连接字符串时使用它 $ docker network create mysqlnet 现在,让我们在容器中运行 MySQL 并附加到我们上面创建的卷和网络Docker 从 Hub 拉取镜像并在本地运行 $ docker run —it ——rm —d —v mysql_data:/var/lib/mysql —v mysql_config:/etc/mysql/conf.d ——network mysqlnet ——name mysqlserver —e MYSQL_USER=petclinic —e MYSQL_PASSWORD=petclinic —e MYSQL_ROOT_PASSWORD=root —e MYSQL_DATABASE=petclinic —p 3306:3306 mysql:8.0.23 好的,现在我们有一个正在运行的 MySQL,让我们更新我们的 Dockerfile 以激活应用程序中定义的 MySQL Spring 配置文件,并从内存中的 H2 数据库切换到我们刚刚创建的 MySQL 服务器。 我们只需要添加 MySQL 配置文件作为CMD定义的参数。。 CMD 让我们建立我们的形象 $ docker build ——tag java—docker . 现在,让我们运行我们的容器这一次,我们需要设置MYSQL_URL环境变量,以便我们的应用程序知道使用什么连接字符串来访问数据库我们将使用该docker run命令执行此操作 $ docker run ——rm —d ——name springboot—server ——network mysqlnet —e MYSQL_URL=jdbc:mysql://mysqlserver/petclinic —p 8080:8080 java—docker 让我们测试一下我们的应用程序是否已连接到数据库并能够列出 Veterinarians。 $ curl ——request GET ——header 'content—type: application/json' 您应该会从我们的服务中收到以下 json。相反,您可以指定一系列主机端口,将容器端口绑定到不同于默认临时端口范围的:范围。 "vetList":,"nrOfSpecialties":0,"new":false,"id":2,"firstName":"Helen","lastName":"Leary","specialties":,"nrOfSpecialties":1,"new":false,"id":3,"firstName":"Linda","lastName":"Douglas","specialties":,"nrOfSpecialties":2,"new":false,"id":4,"firstName":"Rafael","lastName":"Ortega","specialties":,"nrOfSpecialties":1,"new":false,"id":5,"firstName":"Henry","lastName":"Stevens","specialties":,"nrOfSpecialties":1,"new":false,"id":6,"firstName":"Sharon","lastName":"Jenkins","specialties":,"nrOfSpecialties":0,"new":false) 。 中国商业网资讯门户;更多内容请关注中国商业网各频道、栏目资讯免责声明:凡本站注明 “来自:(非中国商业网)”的新闻稿件和图片作品,系本站转载自其它媒体,转载目的在于信息传递,并不代表本站赞同其观点和对其真实性负责 |
鲜花 |
握手 |
雷人 |
路过 |
鸡蛋 |
2021-09-02
2021-09-02
2021-09-02
2021-09-02
2021-09-02