Docker跨容器访问数据库

这篇具有很好参考价值的文章主要介绍了Docker跨容器访问数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、问题描述

有两个docker镜像:mysql镜像和ubuntu镜像。项目的数据库和代码分别打包在mysql镜像和ubuntu镜像中。项目代码需要跨容器访问数据库。

二、实现方法

使用docker --link参数实现容器互联

三、具体操作

1.装载mysql镜像

docker load -i ./mysql.tar

查看已装载镜像列表:

docker images

docker容器如何访问外部数据库服务,docker,linux,ubuntu

 2.以mysql8镜像创建容器

docker run -d --name mysql -p 3306:3306 mysql8:latest

参数释义:

--name mysql 命名创建的容器为mysql
-p 3306:3306 将容器内的3306端口映射到主机3306端口,方便主机连接调试
mysql8:latest 镜像名称:版本号

查看创建的容器

docker ps -a

docker容器如何访问外部数据库服务,docker,linux,ubuntu

 可以看到容器已经启动,并且Ports列显示了端口映射情况

如果容器没有启动,执行下面的命令启动它

docker start mysql

3.使用navicat测试主机是否可以连接容器内的mysql

连接地址为:localhost:3306

4.装载ubuntu镜像

可以去docker hub下载一个打包好的ubuntu镜像

Explore Docker's Container Image Repository | Docker Hub

docker pull ubuntu:20.04

docker容器如何访问外部数据库服务,docker,linux,ubuntu

查看镜像列表

docker images

docker容器如何访问外部数据库服务,docker,linux,ubuntu

 5.创建ubuntu容器

docker run -it --name ubuntu -p 8080:8080 --link mysql:mysql ubuntu:20.04 /bin/bash

 参数释义:

-it ... /bin/bash 以命令行模式进入容器,创建完成后会打开/bin/bash

--name 命名容器名为ubuntu

-p 8080:8080 容器的8080端口映射到主机8080端口,方便项目调试

--link mysql:mysql 把mysql容器取一个别名(还是mysql)映射到ubuntu容器中

ubuntu:20.04 以ubuntu:20.04镜像创建容器

之后会进入到容器内的终端/bin/bash

docker容器如何访问外部数据库服务,docker,linux,ubuntu

6.测试连接

在ubuntu容器内可以通过别名mysql来访问mysql容器内的网络:

mysql:3306 //以别名mysql访问对应容器的网络,端口号为3306

在ubuntu容器中安装telnet进行测试

apt update
apt install telnet

使用telnet测试跨容器访问

telnet mysql 3306 #mysql是别名,3306是端口

docker容器如何访问外部数据库服务,docker,linux,ubuntu

 可以看到mysql别名被自动替换为172.17.0.2,这是真实的mysql容器的ip地址。成功收到对方应答。文章来源地址https://www.toymoban.com/news/detail-735418.html

到了这里,关于Docker跨容器访问数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker容器内部可以访问,外部无法访问

    外部无法访问nginx :将docker容器部署后台运行后,发现无法通过ip(宿主机ip地址,可以通过ifconfig去查看eno***的inet地址便可,也可直接填写localhost):80(例如: localhost:80 )去访问却发现访问失败 内部访问成功 :于是我想先看看docker内部是否可以访问得到,先检查nginx是否开

    2023年04月08日
    浏览(78)
  • 基于docker容器部署MySQL数据库

    一,概要.... 2 二,环境准备.... 3 2.1,docker部署.... 3 三,使用docker部署mysql 6 3.1、创建数据存放目录.... 6 3.2、创建bridge网络并指定IP区间.... 6 3.3、Docker安装MySQL. 6 3.4、自定义配置.... 7 四,MySQL简单的配置.... 9 4.1、在容器 mysql 中开启一个交互模式的终端.... 9 4.2、mysql登录....

    2024年02月04日
    浏览(71)
  • Mysql Docker 容器重启后数据库数据丢失分析

    项目复用nacos的mysql数据库且msyql容器已存在,之前已新建好数据库并插入数据。本次需要更新数据库表结构和数据。重启myql导致数据库数据丢失。 另外,本次事故是昨天发生未及时记录,日志不够详细。 本次需要更新数据库表结构和数据,通过dbviewer操作失败报 异常,部分

    2024年02月01日
    浏览(52)
  • Docker 容器搭建mysql 集群(主从数据库)

    目录 1.背景         2.设备及软件版本 3.开始搭建(这里不介绍安装docker及mysql) 3.1创建主数据库容器(master) 3.2查看容器是否创建成功 3.3进入修改容器下的/etc/my.cnf文件 3.3.1先拷贝my.cnf到容器外修改完再覆盖容器原来的my.cnf文件 3.4重启mysql容器使配置文件生效 3.5查看是否

    2024年02月08日
    浏览(99)
  • Linux系统时间 vs Docker容器时间 vs 数据库时间

    前两天写了个小demo,部署到腾讯云上,今天测了一下插入数据的接口,发现插入后的数据时间不对。由于我的mysql是装在docker里的,因此有必要将linux系统时间,docker容器时间,以及mysql时间这三者统一起来。 首先确认linux系统时间是否与当前时间一致,登录服务器后直接用

    2024年02月09日
    浏览(66)
  • 瀚高数据库 docker 容器单机运行(安全版v4.5.9)

    瀚高数据库 docker 容器单机运行 鉴于有些高端客户需要容器运行瀚高数据库,本文主要针对这些用户说明一下瀚高数据库镜像的操作。 文档所使用的docker版本是 18.03.0 。 已拿到docker镜像包 459.tar ,如有需要可以拨打热线电话 400-708-8006 。 注意: 容器内已经初始化好数据库实

    2024年01月16日
    浏览(54)
  • Docker容器MySQL数据库的备份与还原,以及每天定时自动备份.

    根据自己需要,我这个是Debian的5.7版本的镜像。 这个地方一定要注意: 有些版本的docker镜像里面移除了MySQL自带的工具。包括Mysqlbinlog,Mysqlcheck等。所以即使你开启了binlog,也是没有办法还原数据的,这里要注意一下镜像的选择。 mkdir三个文件夹,方便持久化。 /home/mysql/c

    2024年02月05日
    浏览(65)
  • 往docker中cloudbeaver的容器添加达梦数据库、impala数据库连接支持(cloudbeaver添加自定义数据连接)

    cloudbeaver默认没有开放impala连接,更不会支持国产数据库了 docker安装运行cloudbeaver可以参考文章:docker安装运行CloudBeaver并设置默认语言为中文 本文跳过cloudbeaver镜像拉取,直接就开始实现自定义数据库连接功能 1.1、新建挂载的宿主机根目录 挂载的文件都放置该目录下 1.2、运

    2024年01月19日
    浏览(76)
  • 解决docker容器之间网络互通 启动web服务只能本地localhost访问无法从外部访问

    docker容器之间相互访问 1.查看当前的网络 Copy [root@host ~]# docker network ls NETWORK ID          NAME                DRIVER              SCOPE 3dd4643bb158        bridge              bridge              local 748b765aca52        host                host                local 4d59a0cd3ff

    2024年02月10日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包