我目前正试图找到一种独特的解决方案,用于在CI管道上本地和远程运行我的项目。在git上,我通过设置applicationContext的bean数据源url使一切正常工作。xml,如下所示:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://mysql:3306/project" />
...
</bean>
但是,我无法配置docker compose文件,使其可以使用与前面所示相同的url。相反,它仍然需要本地主机jdbc:mysql://localhost:3306/project
我想我需要在docker compose文件中添加一些额外的网络字段,以便使用jdbc:mysql://mysql:3306/project本地也一样,但我现在还没有弄清楚。
我目前的docker-compose.yml修改:
version: '3.3'
services:
tomcat:
image: tomcat:9-jre11
volumes:
- ./target:/usr/local/tomcat/webapps
ports:
- "8080:8080"
mysql:
image: mysql:latest
environment:
MYSQL_USER: mysql_user
MYSQL_PASSWORD: mysql_password
MYSQL_ROOT_PASSWORD: mysql_root_password
MYSQL_DATABASE: mysql_database
ports:
- "3306:3306"
如果我使用mysql url而不是本地url,则在本地运行项目会导致以下错误消息:
Caused by: java.net.UnknownHostException: mysql
这种情况有时会发生,
你是在swarm模式下部署的吗?
无论如何,docker compose文件中针对单个节点的修复如下所示。
version: '3.3'
services:
tomcat:
image: tomcat:9-jre11
volumes:
- ./target:/usr/local/tomcat/webapps
ports:
- "8080:8080"
networks:
- mynetwork
mysql:
image: mysql:latest
environment:
MYSQL_USER: mysql_user
MYSQL_PASSWORD: mysql_password
MYSQL_ROOT_PASSWORD: mysql_root_password
MYSQL_DATABASE: mysql_database
ports:
- "3306:3306"
networks:
- mynetwork
networks:
mynetwork:
特别是在多个节点的swarm中:
docker network create mynetwork --driver overlay --attachable
撰写文件:
version: '3.3'
services:
tomcat:
image: tomcat:9-jre11
volumes:
- ./target:/usr/local/tomcat/webapps
ports:
- "8080:8080"
networks:
- mynetwork
mysql:
image: mysql:latest
environment:
MYSQL_USER: mysql_user
MYSQL_PASSWORD: mysql_password
MYSQL_ROOT_PASSWORD: mysql_root_password
MYSQL_DATABASE: mysql_database
ports:
- "3306:3306"
networks:
- mynetwork
networks:
mynetwork:
external: true
听起来你是在docker之外的本地启动应用程序,对吗?
在这种情况下,不是一个完美的解决方案,因为你必须在每个桌面上单独做,但是你可以添加到你的/etc/host
,"mysql"主机到localhost映射:
127.0.0.1 mysql
尽管如此,我建议在tomcat
docker映像上运行您的应用程序,或者为CI和本地环境进行单独的配置。
两个月来,我一直在修改wordpress网站的本地版本。 所有的更改都是在我的本地主机版本上的自定义主题目录中进行的,例如custom-template-page-functions.php和style.css。 当我在localhost网站上工作时,live网站得到了更多的文章和内容。 现在我想知道什么是最有感情的方式将这些变化添加到现场。
问题内容: 是的,我的应用程序服务器在https上运行。客户端要求将肥皂地址从http更改为https。 客户要求每当他想要2通过浏览器看到wsdl时,soap地址应为https 我已经在axis2.xml中添加了它… 我在service.xml中添加了以下内容 在关闭标签之后,但它给了我下面的错误。 它给了我例外 问题答案: service.xml中 有一个错字。它应该是 : 不是HTTPS。
本文向大家介绍在MySQL中将列名从StudentName更改为FirstName?,包括了在MySQL中将列名从StudentName更改为FirstName?的使用技巧和注意事项,需要的朋友参考一下 使用带有ALTER语句的CHANGE。让我们首先创建一个表- 现在检查表的描述- 输出结果 这将产生以下输出- 这是使用ALTER的查询- 现在再次检查表的描述- 输出结果 这将产生以下输出-
当我想用PHPMyAdmin将MySQL字符集从utf8(utf8\u general\u ci)更改为utf8mb4(utf8\u unicode\u ci)时,我做这些事情就足够了吗? 将数据库归类更改为utf8_unicode_ci 将表排序规则更改为utf8_unicodel_ci 将每个文本列更改为utf8_unicodel_ci 将我的PHP代码中的set_charset更改为utf8
问题内容: 我试图在事实发生后修改表使其成为主键列。我尝试了以下SQL,但收到语法错误通知。 我做错什么了吗? 问题答案:
问题内容: 我有以下代码: 如何更改此代码: 使其可以像JSONP一样工作…这完全不同吗? 问题答案: 实际上,您只需要添加,剩下的就由jQuery完成。