mysql - Docker Wordpress连接到本地主机上的数据库服务器

视频上面的

docker service create --name mysql -p 3306:3306 --env MYSQL_ROOT_PASSWORD=root \
    --env MYSQL_DATABASE=wordpress \
    --network demo \
    --mount type=volume,source=mysql-data,destination=/var/lib/mysql \
    mysql:5.7

docker service create  --name wordpress -p 80:80 \
    --env WORKDPRESS_DB_PASSWORD=root \
    --env WORDPRESS_DB_HOST=mysql \
    --network demo \
    wordpress

能用的


 docker service create --name mysql -p 3306:3306 --env MYSQL_ROOT_PASSWORD=root  \
    --env MYSQL_DATABASE=wordpress  --env MYSQL_USER=wordpress \
    --env MYSQL_PASSWORD=wordpress --network demo   \
    --mount type=volume,source=mysql_data2,destination=/var/lib/mysql \
    mysql:5.7

docker service create  --name wordpress -p 80:80 \
     --env WORDPRESS_DB_USER=wordpress  --env WORDPRESS_DB_PASSWORD=wordpress \
    --env WORDPRESS_DB_HOST=192.168.184.132:3306 --env WORDPRESS_DB_NAME=wordpress \
    --network demo \
    wordpress:latest


还是网络建立有问题的原因     mysql换成192.168.184.132 就可以了  overlay网络没有建成的原因

 

 

 

 

 

 

 

 

 

 

docker 搭建wordpress

https://blog.csdn.net/fanxl10/article/details/83904286

docker 搭建wordpress

fanxl12 2018-11-09 22:40:14  998  收藏

分类专栏: devops 文章标签: docker

版权

  1. 创建mysql,版本5.7
docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress -v $(pwd)/mysql:/var/lib/mysql mysql:5.7
  • 1

这里只能用Bind Mouting方式持久化数据,用volume会报错,不知道为啥,如果是mysql8的版本好像可以,如下:

docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=wordpress -v mysql-data:/var/lib/mysql mysql
  • 1

但是mysql 8的版本,wordpress连接会报错,好像是密码验证改了,需要修改mysql用户的密码验证方式

  • 进入容器
docker exec -it mysql /bin/bash
  • 1
  • 登录数据库(此处的密码为参数-e MYSQL_ROOT_PASSWORD=root对应的值,此处密码为root)
mysql -u root -p root
  • 1
  • 使用mysql数据库
use mysql;
  • 1
  • 查询mysql8.0的root用户
select host, user, plugin from user;
  • 1

从查到的结果中,可以看到root的用户的加密方式为caching_sha2_passoword, 而navicat连接所用的方式为native_password。mysql为远程连接和本地连接提供了不同的密码验证方式

  • 修改root用户插件验证方式
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
  • 1

修改成功之后就可以连接了

  1. 创建wordpress
docker run -d  --name wordpress --link mysql -p 80:80 -e WORDPRESS_DB_PASSWORD=root -e MYSQL_DATABASE=mysql wordpress
  • 1
  • 点赞1
  • 评论1

 

 

 

 

 

 

 

 

 

 

 

https://www.coder.work/article/2550105

 

 

 

docker volume create db_data

docker network create mysqlnet

docker run --name test-mysql -e MYSQL_ROOT_PASSWORD=somewordpress -e MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=wordpress -v db_data:/var/lib/mysql --net=mysqlnet -d mysql:5.7

docker run --name test-wordpress -e WORDPRESS_DB_HOST=test-mysql:3306 -e WORDPRESS_DB_USER=wordpress -e WORDPRESS_DB_PASSWORD=wordpress -e WORDPRESS_DB_NAME=wordpress --net=mysqlnet -p 8081:80 -d wordpress:latest

 

 

 

 

mysql - Docker Wordpress连接到本地主机上的数据库服务器

原文 标签 mysql wordpress docker localhost database-connection

我用命令运行docker wordpress image

docker run --name  test-wordpress -p 8081:80 -d wordpress

MySQL 8在Windows 10的本地主机上。数据库凭据有效。
在wordpress安装程序中,我使用此配置
数据库名称:WordPress(尚未存在)
用户名:root
密码:***
数据库主机:localhost | | 127.0.0.1 | | host.docker.internal
我错了
建立数据库连接时出错
什么是正确的数据库主机?

 

最佳答案

默认情况下,docker会将新容器附加到桥接网络。这意味着:localhost127.0.0.1等地址仅指容器本身。不是主机。
解决这个问题的简单方法是将MySQL数据库包装在自己的容器中。这样您的容器就可以无问题地相互寻址。
连接到主机上的MySQL数据库
如果您真的要将容器中的服务与主机上的服务连接,则需要将容器连接到适当的网络。
首先,你需要创建一个网络。假设您的本地计算机的固定IP为192.168.0.1,那么您应该能够使用:

<span style="color:#212529"><code style="margin-left:2px">docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 dockernet
</code></span>

你可以:
 
<span style="color:#212529"><code style="margin-left:2px">docker run --name  <span style="color:#ae7313">test</span>-wordpress --net=dockernet -p 8081:80 -d wordpress
</code></span>

然后,您应该能够通过IP:192.168.0.1从容器内部引用主机。
使用wordpress和MySQL创建堆栈
不过,这里更好的选择是使用docker compose创建一个应用程序堆栈定义,其中包括数据库和wordpress应用程序。
您可以创建这样的docker-compose.yml文件:
docker-compose.yml
version: '3.3'services:db:image: mysql:5.7volumes:- db_data:/var/lib/mysqlrestart: alwaysenvironment:MYSQL_ROOT_PASSWORD: somewordpressMYSQL_DATABASE: wordpressMYSQL_USER: wordpressMYSQL_PASSWORD: wordpresswordpress:depends_on:- dbimage: wordpress:latestports:- "8000:80"restart: alwaysenvironment:WORDPRESS_DB_HOST: db:3306WORDPRESS_DB_USER: wordpressWORDPRESS_DB_PASSWORD: wordpressWORDPRESS_DB_NAME: wordpress
volumes:db_data: {}

从这个开始堆栈:
 
<span style="color:#212529"><code style="margin-left:2px">docker-compose up
</code></span>

然后访问:http://localhost:8000
注意,数据库数据将存储在docker管理的卷db_data中。
安装docker compose的详细信息可以在这里找到:https://docs.docker.com/compose/install/
docker run启动两个容器
只要docker run,就可以达到同样的效果,如下所示:
 
<span style="color:#212529"><code style="margin-left:2px">docker volume create db_datadocker network create mysqlnetdocker run --name <span style="color:#ae7313">test</span>-mysql -e MYSQL_ROOT_PASSWORD=somewordpress -e MYSQL_DATABASE=wordpress -e MYSQL_USER=wordpress -e MYSQL_PASSWORD=wordpress -v db_data:/var/lib/mysql --net=mysqlnet -d mysql:5.7docker run --name <span style="color:#ae7313">test</span>-wordpress -e WORDPRESS_DB_HOST=<span style="color:#ae7313">test</span>-mysql:3306 -e WORDPRESS_DB_USER=wordpress -e WORDPRESS_DB_PASSWORD=wordpress -e WORDPRESS_DB_NAME=wordpress --net=mysqlnet -p 8081:80 -d wordpress:latest
</code></span>

您可以更改mysql数据文件到本地目录的映射,只需命令docker volume create语句。

 

 

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327297.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CoreCRM 开发实录——开始之新项目的技术选择

2016年11月&#xff0c;接受了一个工作&#xff0c;是对“悟空CRM”进行一些修补。这是一个不错的 CRM&#xff0c;开源&#xff0c;并提供一个 SaaS 的服务。正好微软的 .NET Core 和 ASP.NET Core 也发布了。于是就有了这个想法&#xff1a;使用 ASP.NET Core 来开发一个 CRM…

80%的程序员都不了解的调试技巧

转载自 80%的程序员都不了解的调试技巧 程序员的工作内容&#xff0c;除了大部分时间写代码之外&#xff0c;因为有不少的时间是用在调试代码上。甚至说不是在调试代码&#xff0c;就是即将调试代码。 :) 今天我们来谈谈调试代码的一些技巧&#xff0c;在使用IDE提供的debu…

复制vmware overLay网络无法ping通 ping www.baidu.com可以

因为忘记关闭防火墙了&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 要永久关闭&#xff01;&#xff01; 修改hostname https://blog.csdn.net/qq_27327261/article/details/109100219 关闭防火墙 https://blog.csdn.net/qq_27327261/article/details/1…

2016.NET Core相关内容回顾

每一年的脚步的确是快&#xff0c;转眼间马上就2017。.NET Core 2014年宣布开源以来&#xff0c;在2016年发布了第一个版本&#xff0c;2017年将发布第二个版本&#xff0c;在这新年之际&#xff0c;我们回顾2016年&#xff0c;新的一年&#xff0c;带着理想和抱负继续出发。 1…

微服务化的数据库设计与读写分离

转载自 微服务化的数据库设计与读写分离 数据库永远是应用最关键的一环&#xff0c;同时越到高并发阶段&#xff0c;数据库往往成为瓶颈&#xff0c;如果数据库表和索引不在一开始就进行良好的设计&#xff0c;则后期数据库横向扩展&#xff0c;分库分表都会遇到困难。 对于…

centos7 切换中文输入法 无需安装

*************** 当你发现自己的才华撑不起野心时&#xff0c;就请安静下来学习吧&#xff01;***************

Consul 服务注册与服务发现

1. 服务注册 对 Consul 进行服务注册之前&#xff0c;需要先部署一个服务站点&#xff0c;我们可以使用 ASP.NET Core 创建 Web 应用程序&#xff0c;并且部署到 Ubuntu 服务器上。 ASP.NET Core Hell World 应用程序示例代码&#xff0c;只需要三个文件&#xff0c;Startup.cs…

tar (child): .tgz\r:无法 open: 没有那个文件或目录

Linux下运行bash脚本显示“: /usr/bin/env: "bash\r": 没有那个文件或目录 程序员小熊 2017-12-18 14:45:45 18395 收藏 7 分类专栏&#xff1a; Linux 版权 用 ./ 运行bash脚本文件出现 报错信息 /usr/bin/env: "bash\r": 没有那个文件或目录 错误原…

Entity Framework Core 1.1 升级通告

Entity Framework Core&#xff08;EF Core&#xff09;是一个轻量级的&#xff0c;可扩展和实体框架的跨平台版本。今天&#xff0c;我们宣布 Entity Framewor Core 1.1 正式可用了。 EF Core 和 .NET Core 遵循相同的发行周期。每2个月不断的改进和每6个月的新功能发布。这是…

聊聊微服务架构及分布式事务解决方案

转载自 聊聊微服务架构及分布式事务解决方案 分布式事务场景如何设计系统架构及解决数据一致性问题&#xff0c;个人理解最终方案把握以下原则就可以了&#xff0c;那就是&#xff1a;大事务小事务&#xff08;原子事务&#xff09;异步&#xff08;消息通知&#xff09;&am…

使用熔断器设计模式保护软件

作为软件开发人员&#xff0c;我们的生活是快节奏的&#xff0c;我们采用的是敏捷软件开发方法&#xff0c;迭代式的开发我们软件功能&#xff0c;开发完成提交测试&#xff0c;通过了QA的测试后被部署到生产环境&#xff0c;然后可怕的事情在生产环境里发生了&#xff0c;生产…

hql投影查询之—— [Ljava.lang.Object; cannot be cast to cn.bdqn.guanMingSys.entity.Notice

最近在做项目中遇到一个简单的问题&#xff0c;但是解决了好久&#xff0c;问题就是投影查询。 先来看看出现的异常&#xff1a; java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to cn.bdqn.guanMingSys.entity.Notice at cn.bdqn.guanMingSys.dao.i…

架构师之路:从码农到架构师你差了哪些

转载自 架构师之路&#xff1a;从码农到架构师你差了哪些 Web应用&#xff0c;最常见的研发语言是Java和PHP。 后端服务&#xff0c;最常见的研发语言是Java和C/C。 大数据&#xff0c;最常见的研发语言是Java和Python。 可以说&#xff0c;Java是现阶段中国互联网公司中&…

Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制

将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题&#xff0c;就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现。SQL Server timestamp 数据类型与时间和日期无关。SQL Server timestamp 是二进制数字&#xff0c;它表明数据库中数…

干货 | Tomcat 连接数与线程池详解

转载自 干货 | Tomcat 连接数与线程池详解 前言 在使用tomcat时&#xff0c;经常会遇到连接数、线程数之类的配置问题&#xff0c;要真正理解这些概念&#xff0c;必须先了解Tomcat的连接器&#xff08;Connector&#xff09;。 在前面的文章 详解Tomcat配置文件server.xml…

120项优化: 超级爬虫Hawk 2.0重磅发布!

沙漠君在历时半年&#xff0c;修改无数bug&#xff0c;更新一票新功能后&#xff0c;在今天隆重推出最新改进的超级爬虫Hawk 2.0! 啥&#xff1f;你不知道Hawk干吗用的&#xff1f; 这是采集数据的挖掘机&#xff0c;网络猎杀的重狙&#xff01;半年多以前&#xff0c;沙漠君写…

github创建一个新的tag

https://git-scm.com/book/en/v2/Git-Basics-Tagging

phone6s home键按不动了怎么办 苹果6s home键按不动解决方法

iphone6s home键按不动了怎么办 苹果6s home键按不动解决方法 作者&#xff1a;佚名 来源&#xff1a;绿茶软件园 2016-02-15 15:53:35 iphone6s home键按不动了怎么办&#xff1f;有iphone用户遇到home键按不动了的问题&#xff0c;下文小乐哥带来苹果6s home键按不动解决方法…

开源库Magicodes.ECharts使用教程

概要 Magicodes.ECharts是心莱团队基于百度EChart封装的开源的.NET类库&#xff0c;以便让用户更快更便捷的上手开发EChart图表。本篇主要讲解Magicodes.ECharts的相关使用。 注意&#xff1a;EChart图表插件是由百度提供的一套前端图表库&#xff0c;可以流畅运行在PC端和移动…