为什么需要给 --link mysql57 加上 -e MYSQL_SERVER="mysql57" 才可以正常访问?

来源:3-7 Docker run -link运行博客项目

traveler_zero

2021-03-16

请问为什么需要给 --link mysql57 加上 -e MYSQL_SERVER="mysql57" 才可以正常访问?
不加 -e MYSQL_SERVER="mysql57" 的话,kubeblog 容器会自动停止

写回答

2回答

慕码人5271775

2024-11-08

docker run \

 --name mysql57 \

 -p 3306:3306 \

 -v /opt/mysql/data:/var/lib/mysql \

 -v /opt/mysql/log:/var/log/mysql \

 -v /opt/mysql/my.cnf:/etc/mysql/my.cnf:rw \

 -e MYSQL_ROOT_PASSWORD=password \

 -d mysql:5.7 --default-authentication-plugin=mysql_native_password


[root@K8S-Maskter Final]# docker ps -a 

CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                      PORTS                                                  NAMES

fe6d863e89b1   kubeblog       "java -jar /kubeblog…"   5 minutes ago    Up 1 second                 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp              kubeblog

e692e4ea7ec9   ae0658fdbad5   "docker-entrypoint.s…"   26 minutes ago   Up 22 minutes               0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql57


[root@K8S-Maskter Final]# cat Dockerfile 

FROM openjdk

MAINTAINER QingFeng

VOLUME /tmp

ADD target/kubeblog.jar /kubeblog.jar

EXPOSE 5000

ENTRYPOINT ["java","-jar","/kubeblog.jar"]


docker run --name kubeblog -d -p 5000:5000  --link mysql57 -e MYSQL_SERVER="mysql57"  kubeblog


fe6d863e89b1   kubeblog       "java -jar /kubeblog…"   9 minutes ago    Exited (1) 4 minutes ago                                                           kubeblog

e692e4ea7ec9   ae0658fdbad5   "docker-entrypoint.s…"   30 minutes ago   Up 26 minutes               0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql57



[root@K8S-Maskter resources]# cat application-dev.yml 

spring:

  datasource:

    driver-class-name: com.mysql.jdbc.Driver

    url: jdbc:mysql://${MYSQL_SERVER:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB_NAME:blogDB}?useUnicode=true&characterEncoding=utf-8&useSSL=false

    #如果运行出错,可以把连接写成下面的路径进行测试

    #url: jdbc:mysql://127.0.0.1:3306/blogDB?useUnicode=true&characterEncoding=utf-8

    username: ${MYSQL_USER_TEST:root}

    password: ${MYSQL_PASSWORD_TEST:password}

  #    data: classpath:data.sql

  #    initialization-mode: ALWAYS






0
0

清风

2021-03-20

因为这个应用需要连接数据库,加上之后,才能访问到

0
1
慕码人5271775
数据库是正常启动,且连接成功,创建了blogDB数据库的 [root@K8S-Maskter resources]# mysql -h127.0.0.1 -uroot -p'password' Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.7.32 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]> show databases -> ; +--------------------+ | Database | +--------------------+ | information_schema | | blogDB | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)
2024-11-08
共1条回复

Kubernetes 入门到进阶实战,系统性掌握 K8s 生产实践

阿里云最有价值专家亲授,云原生时代必备技能

1501 学习 · 613 问题

查看课程