迁移本地PHP应用到Docker容器
Jun 23, 2016 pm 01:15 PM
场景:在一台服务器上有一个跑在本机的LAMP服务,因为经常搬迁服务器所以传统搬迁办法非常麻烦,于是打算把这个正在运行的服务迁移到Docker容器里面,方便以后搬迁。
任务:迁移本地PHP应用到Docker容器。
不废话,四步之内解决这件事,备份你的网站。
第一种方法
第一步:拉取镜像。
docker pull tutum/lamp
第二步:运行容器。
在这次实验中,本地应用根目录为/home/wwwroot/default,请根据自己情况修改路径。YOURPASSWORD保持之前的数据库密码。
docker run -d -p 81:80 -p 3307:3306 -e MYSQL_PASS="YOURPASSWORD" -v /home/wwwroot/default:/app tutum/lamp
第三步:修改应用数据库配置文件。
在这个镜像中,容器外部不允许使用root用户连接——你应该使用admin用户!
修改PHP应用的配置文件里面的数据库用户名即可。
第四步:导出本地数据库数据,然后导入容器内的数据库。
太简单,mysql命令行导出导入而已。
以上是第一种方法,这种方法不用动正在运行的程序,做到了无缝切换,但缺点在于不利于将来搬迁服务器时操作,毕竟本地数据还是要自己打包,总之有时间可以用第二种方法。
第二种方法
第一步:写个Dockerfile,自己构建一个LAMP镜像。
打包本地数据,我命名为wwwroot.zip。在打包文件目录中执行vim Dockerfile
FROM tutum/lamp:latestRUN rm -rf /appADD wwwroot.zip /app/RUN apt-get updateRUN apt-get install -y unzipRUN cd /app && unzip wwwroot.zipRUN rm -rf /tmp && rm /app/wwwroot.zipEXPOSE 80 3306CMD ["/run.sh"]
第二步:构建。
docker build -t local/lamp .
第三步:运行容器。
- 首先导出数据库
- 关闭LAMP
- 运行容器(YOURPASSWORD保持之前的数据库密码)
docker run -d -p 81:80 -p 3306:3306 -e MYSQL_PASS="YOURPASSWORD" local/lamp
Nach dem Login kopieren第四步:数据库配置。
记住,容器外部不允许使用root用户连接——你应该使用admin用户!配置文件只需要修改一个数据库用户名即可。
导出本地数据库数据,然后导入容器内的数据库。
题外话
你可能注意到暴露的是81端口,这是因为我把前端交给Nginx做反代理。
详情:为“复杂”的容器环境配置Nginx反向代理

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon

Ankündigung von 2025 PHP Situation Survey
