网站建设知识
# docker 初探01-安装MySQL和wordpress
2025-07-22 11:15  点击:0

docker 初探 读书笔记 《docker 经典实例》

安装

因为众所周知的原因,在国内访问某些网站的时候体验非常不好,所以docker安装源建议采用本地的安装包。daocloud.io这个公司做了dockerhub的镜像。

安装脚本:

curl -sSL https://get.daocloud.io/docker | sh

修改镜像源

这儿比较麻烦的是,需要从上面的那个网站注册一个账号,才能获得一个加速地址

参加网站:https://daocloud.io/mirror#accelerator-doc

修正脚本:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s 5403ff34.m.daocloud.io

配置工作就完成了,是不是很简单。下面开始一些实例:

docker搭建一个worldpress网站

传统的搭建可能比较费时,先配置MySQL数据库,然后配置Nginx或者Apache,然后下载安装文件,进行安装。老司机的话估计也得半个小时,如果用docker的化,不到十分钟就搞定。

下载worldpress、MySQL镜像

#数据库安装配置[root@#localhost ~]# docker run --name mysqlwp -e MYSQL_ROOT_PASSWORD=wordpressdocker -d mysqla57a3cc492b7df62c3ae84b0297f272408f6a0b25b084c3545a58e49f76f6f45[root@#localhost ~]# docker psConTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS               NAMESa57a3cc492b7        mysql               "docker-entrypoint..."   about a minute ago   Up about a minute   3306/tcp            mysqlwp#配置WordPress和MySQL的链接,用了docker的--link技术[root@#localhost ~]# docker run --name wordpress --link mysqlwp:mysql -p 80:80 -d wordpress81a879a36bd3de6df0427060f06fd710b1cdfd9647992216eec937749d13e968#查看进程[root@#localhost ~]# docker psConTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES81a879a36bd3        wordpress           "docker-entrypoint..."   28 seconds ago      Up 26 seconds       0.0.0.0:80->80/tcp   wordpressa57a3cc492b7        mysql               "docker-entrypoint..."   2 minutes ago       Up 2 minutes        3306/tcp             mysqlwp#打开浏览器进行配置

个性化配置

前面安装MySQL的时候用了默认的root用户,生产环境不推荐这样做。下面的例子是创建个性化的数据库。

MySQL

个性安装:

docker run --name mysqlwp -e MYSQL_ROOT_PASSWORD=mypass \ #配置root密码                          -e MYSQL_DATAbase=mydbname \ #数据库名称                          -e MYSQL_USER=mymuser \ #数据库用户                          -e MYSQL_PASSWORD=mypass_myuser \ #数据库库用户的密码                          -d mysql  #以守护进程的方式进行运行mysql#将宿主机的文件夹绑定到容器中的文件夹上docker run --name mysqlwp -e MYSQL_ROOT_PASSWORD=mypass \ #配置root密码                          -e MYSQL_DATAbase=mydbname \ #数据库名称                          -e MYSQL_USER=mymuser \ #数据库用户                          -e MYSQL_PASSWORD=mypass_myuser \ #数据库库用户的密码                          -v /home/docker/mysql:/var/lib/mysql \ #宿主机的/home/docker/mysql文件夹对应容器中后者文件夹                          -d mysql  #以守护进程的方式进行运行mysql

backup:

[root@#localhost ~]# docker exec -it mysqlwp mysqldump --all-databases --password=wordpressdocker > wordpress.backup[root@#localhost ~]# lltotal 3824-rw-------. 1 root root    1020 Nov  2 22:16 anaconda-ks.cfg-rw-r--r--. 1 root root 3907748 Apr  4 15:41 wordpress.backup

WordPress

docker run --name wordpress --link mysqlwp:mysql -p 80:80 \-e WORDPRESS_DB_NAME=wordpress-e WORDPRESS_DB_USER=wordpress-e WORDPRESS_PASSWORD=mypress \ -d wordpress