服务器应用迁移至Docker集群
-
1.打包数据库(注意-u,-p后面不要加空格)
-
mysqldump -h127.0.0.1 -u???? -p???? --database ???? > /xxxx.sql
-
-
2.先在本地试验,成功后方可移入集群
-
起一个mysql容器
-
docker pull mysql
-
docker run --name xxxx -e MYSQL_ROOT_PASSWORD=xxxx -d mysql
-
-
-
将数据库拷进去
-
docker ps
-
docker exec -it ID bash
-
docker cp ./xxxx.sql containerID:/xxxx
-
-
查看mysql是否启动
-
service mysql status
-
-
若没有启动,则启动(一般不需要)
-
service mysql start
-
-
导入数据库
-
mysql -uroot -p --database bugzilla < ./bugzilla.sql
-
有时候会自动创建数据库,所以不需要 --database bugzilla
-
mysql -uroot -p < ./bugzilla.sql
-
-
-
查看数据库
-
mysql -uroot -p
-
show databases;
-
use xxxx
-
show tables
-
-
授权时直接创建用户
-
grant all privileges on *.* to '用户'@'%' identified by '密码' with grant option
-
-
刷新
-
flush privileges;
-
- 用自己用户名密码登录试试
-
3.再起一个apache/xxxx,并将网页拷进去(可在dockerhub上寻找例子)
-
docker run -itd -p 8086:80 --name 该容器名 --link=数据库容器名:link名 -e MYSQL_DB=XXX -e MYSQL_USER=xxxx -e MYSQL_PWD=xxxx -v 本地挂载/:/容器内挂载 镜像名
-
-
4.配置网页端时可能会遇到的各种问题,下列命令仅供参考
-
/usr/bin/perl install-module.pl --all
-
cpan
-
apt-get install libextutils-libbuilder-perl libextutils-cppguess-perl libextutils-cbuilder-perl
-
apt-cache search perl|grep compile
-
apt-get install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
-
perl Makefile.pl
-
apt-get install build-essential
-
apt-get install build-essential
-
apt-get install libclass-dbi-mysql-perl libcrypt-mysql-perl libdatetime-format-mysql-perl libdbd-mysql-perl libdbd-mysql-perl lib
-
mysql-diff-perl libtime-piece-mysql-perl
-
- 5.本地成功后,根据情况写Dockerfile,必写compose.yml。这里涉及到公司机密,就不能细讲了。具体思路就是这样。