视频上面的

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语句。

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

  1. Mysql 命令行 连接远程/本地数据库

    Mysql 命令行 连接远程/本地数据库 Mysql 命令行 连接本地数据库 MySQL登录 mysql -uroot -p密码 mysql -hip -uroot -p连接目标的密码 mysql - ...

  2. 实现本地主机与阿里云服务器的UDP通信

    0.概述 感谢 CSDN 赠送的阿里云免费套餐半年使用权,让我有机会与阿里云来个亲密接触.本文是关于如何开通云服务器 ECS.如何登录及使用 ECS,以及通过简单的 UDP 通信实现本地主机与阿里云服 ...

  3. 本地计算机架设http服务器,多维互联网(在本地电脑上架设web服务器软件)

    如何在本地电脑上架设web服务器呢?虽然在网上我们就能搜到方法,可是小编觉得手动设置比较麻烦,不如让一款软件来帮我们搞定这个问题! 多维互联网介绍: 是一款可以完成对本地电脑进行动态dns解决的软件, ...

  4. linux命令scp将本地文件上传到服务器

    linux命令scp将本地文件上传到服务器 Linux 将本地文件上传Linux服务器, 即ssh 命令上传本地文件 在Linux下一般用scp这个命令来通过ssh传输文件. 命令 scp -P 端口 ...

  5. file上传代码 ios_iOS视频压缩存储至本地并上传至服务器实例代码

    最近做了一个项目,我把其中的核心功能拿出来和大家分享一下,重点还是自己梳理一下. 这里关于视频转码存储我整理了两个方法,这两个方法都是针对相册内视频进行处理的. 1.该方法没有对视频进行压缩,只是将视 ...

  6. 如何使用docker和docker-compose在本地Testnet上开发EOS区块链

    EOS区块链的开发并不是立竿见影的,因为需要一些非显而易见的组件,需要对它们进行配置和协同工作. nodeos:块生成器守护程序. keosd:钱包守护进程,存储私钥. eosio-cpp:智能合约编 ...

  7. 信息必填的php,php - {“成功”:0,“消息”:“必填字段丢失”}在本地主机上测试文件 - 堆栈内存溢出...

    我以某种方式理解了问题,但我不知道如何解决 我的脚本有效,但我不知道它是否与数据库连接 我的脚本已连接到android应用,并且某个地方连接断开,即使我在数据库中手动添加用户,也无法从应用中唱歌/唱歌 ...

  8. 新网的虚拟主机连接mysql_虚拟主机怎么导入数据库

    对于一些刚接触虚拟主机和数据库的新手站长来说对于数据库的导出和导入会不知所措,今天小编就简单说一下虚拟主机怎么导入数据库. 数据库是为了方便存储和管理数据而出现,它以一种特定的规律将数据储存在磁盘上. ...

  9. 基于Docker搭建DzzOffice与OnlyOffice线上协同办公服务器

    简介   记录一下在debian服务器上搭建线上协同办公服务器过程中的遇到的问题,避免后续安装过程中出现卡壳的情况. 安装数据库   在docker官方镜像源上下载mysql数据库镜像,下载使用时My ...

最新文章

  1. leangoo怎么导入导出,归档和删除看板?
  2. php网站白页面_php页面空白怎么回事 php出现空白页的解决方法
  3. android jar 无法访问r文件,android项目中gen目录不能自动生成R.java的原因
  4. oracle 跳出内层循环,内层程序中发生异常后,不会继续执行外层程序的语句
  5. sd_fusing.sh将uboot烧写到SD卡
  6. 郁金香汇编代码注入怎么写看雪_汇编语言入门五:流程控制(一)
  7. 技术实践丨如何解决异步接口请求快慢不均导致的数据错误问题?
  8. python使用osgeo库_MAC下python2.7的GDAL库配置问题
  9. Err:ClassNotFoundException: org.apache.tomcat.util.log.SystemLogHandler
  10. oracle ebs wsh picking batch,ebs 11i 订单相关表结构学习及销售到出仓所经历的表
  11. ETL__pentaho__SPOON_PDI
  12. 下载早期版本的JDK
  13. 通过CSS样式隐藏百度版权标志
  14. 各大厂面试云集的《520道LeetCode题Java版答案》
  15. 免费好用的视频格式转换器是哪个呢
  16. 边缘计算开源项目概述
  17. 计算机卡登录界面,win10系统卡在登录界面怎么办 windows10卡在登录界面的解决方法...
  18. 想成为一个Java软件工程师,谁能带我学一学?
  19. win10安装消息队列服务器,win10下celery搭建使用
  20. 第八章 STM32+SGP气体传感器+DHT11温湿度传感器+OLED模块显示室内温湿度、二氧化碳和甲醛浓度

热门文章

  1. erlang rebar 配置mysql_Erlang Rebar 使用指南之四:依赖管理
  2. F - Sugoroku2(动态规划)
  3. HDU - 7073 Integers Have Friends 2.0 随机化 + 质因子
  4. Minimum spanning tree HDU - 6954
  5. 牛客题霸 [ 有重复项数字的所有排列] C++题解/答案
  6. 2020牛客暑期多校训练营(第二场)
  7. [SDOI2015]序列统计 (NTT)
  8. 洛谷P3791:普通数学题(整除分块、前缀和)
  9. P4884-多少个1?【BSGS】
  10. P1129-[ZJOI2007]矩阵游戏【最大匹配】