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
還是網(wǎng)絡(luò)建立有問(wèn)題的原因? ? ?mysql換成192.168.184.132 就可以了? overlay網(wǎng)絡(luò)沒(méi)有建成的原因
?
?
?
?
?
?
?
?
?
?
docker 搭建wordpress
https://blog.csdn.net/fanxl10/article/details/83904286
docker 搭建wordpress
fanxl12?2018-11-09 22:40:14??998??收藏
分類專欄:?devops?文章標(biāo)簽:?docker
版權(quán)
- 1
這里只能用Bind Mouting方式持久化數(shù)據(jù),用volume會(huì)報(bào)錯(cuò),不知道為啥,如果是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連接會(huì)報(bào)錯(cuò),好像是密碼驗(yàn)證改了,需要修改mysql用戶的密碼驗(yàn)證方式
- 進(jìn)入容器
- 1
- 登錄數(shù)據(jù)庫(kù)(此處的密碼為參數(shù)-e MYSQL_ROOT_PASSWORD=root對(duì)應(yīng)的值,此處密碼為root)
- 1
- 使用mysql數(shù)據(jù)庫(kù)
- 1
- 查詢mysql8.0的root用戶
- 1
從查到的結(jié)果中,可以看到root的用戶的加密方式為caching_sha2_passoword, 而navicat連接所用的方式為native_password。mysql為遠(yuǎn)程連接和本地連接提供了不同的密碼驗(yàn)證方式
- 修改root用戶插件驗(yàn)證方式
- 1
修改成功之后就可以連接了
- 1
- 點(diǎn)贊1
- 評(píng)論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連接到本地主機(jī)上的數(shù)據(jù)庫(kù)服務(wù)器
原文?標(biāo)簽?mysql?wordpress?docker?localhost?database-connection
我用命令運(yùn)行docker wordpress image
docker run --name test-wordpress -p 8081:80 -d wordpressMySQL 8在Windows 10的本地主機(jī)上。數(shù)據(jù)庫(kù)憑據(jù)有效。
在wordpress安裝程序中,我使用此配置
數(shù)據(jù)庫(kù)名稱:WordPress(尚未存在)
用戶名:root
密碼:***
數(shù)據(jù)庫(kù)主機(jī):localhost | | 127.0.0.1 | | host.docker.internal
我錯(cuò)了
建立數(shù)據(jù)庫(kù)連接時(shí)出錯(cuò)
什么是正確的數(shù)據(jù)庫(kù)主機(jī)?
?
最佳答案
默認(rèn)情況下,docker會(huì)將新容器附加到橋接網(wǎng)絡(luò)。這意味著:localhost和127.0.0.1等地址僅指容器本身。不是主機(jī)。
解決這個(gè)問(wèn)題的簡(jiǎn)單方法是將MySQL數(shù)據(jù)庫(kù)包裝在自己的容器中。這樣您的容器就可以無(wú)問(wèn)題地相互尋址。
連接到主機(jī)上的MySQL數(shù)據(jù)庫(kù)
如果您真的要將容器中的服務(wù)與主機(jī)上的服務(wù)連接,則需要將容器連接到適當(dāng)?shù)木W(wǎng)絡(luò)。
首先,你需要?jiǎng)?chuàng)建一個(gè)網(wǎng)絡(luò)。假設(shè)您的本地計(jì)算機(jī)的固定IP為192.168.0.1,那么您應(yīng)該能夠使用:
你可以:
? <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>
然后,您應(yīng)該能夠通過(guò)IP:192.168.0.1從容器內(nèi)部引用主機(jī)。
使用wordpress和MySQL創(chuàng)建堆棧
不過(guò),這里更好的選擇是使用docker compose創(chuàng)建一個(gè)應(yīng)用程序堆棧定義,其中包括數(shù)據(jù)庫(kù)和wordpress應(yīng)用程序。
您可以創(chuàng)建這樣的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: {}
從這個(gè)開(kāi)始堆棧:
? <span style="color:#212529"><code style="margin-left:2px">docker-compose up </code></span>
然后訪問(wèn):http://localhost:8000
注意,數(shù)據(jù)庫(kù)數(shù)據(jù)將存儲(chǔ)在docker管理的卷db_data中。
安裝docker compose的詳細(xì)信息可以在這里找到:https://docs.docker.com/compose/install/
用docker run啟動(dòng)兩個(gè)容器
只要docker run,就可以達(dá)到同樣的效果,如下所示:
? <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數(shù)據(jù)文件到本地目錄的映射,只需命令docker volume create語(yǔ)句。
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的mysql - Docker Wordpress连接到本地主机上的数据库服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 苏州华硕电脑it(苏州华硕电脑有限公司招
- 下一篇: 李克男保镖简介(李克男让克林顿总统对她称