买了腾讯的云主机,完全自己搭建服务太麻烦。于是安装了centos系统,装了docker,直接下载docker镜像来运行。
web服务比较简单,直接把httpd镜像拉下来运行就行了。
sudo docker run -dit --name my-httpd -p 8080:80 -v /home/user1/www_root/:/usr/local/apache2/htdocs/ httpd
上面的命令运行httpd容器镜像,将本地/home/user1/www_root/ 挂载到容器中/usr/local/apache2/htdocs/ httpd,http的网页就放在/home/pxy/www_root/目录中。
网页访问方式:http://you_ip_address:8080/
-d: 容器在后台运行
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
wordpress运行稍微复杂一些,需要wordpress和mysql两个镜像协同工作。
###运行mysql容器 sudo docker run --name mysql-wordpress -d -v /home/user1/mysql_wp_root:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="my_sql_password" mysql:8.0.1 ###运行wordpress容器 sudo docker run --name my-wordpress -d -p 8090:80 --link mysql-wordpress:mysql -v /home/user1/wordpress_root:/var/www/html wordpress
本地目录 /home/user1/wordpress_root和/home/user1/mysql_wp_root 分别作为wordpress和mysql的存储目录,映射到容器的指定目录下。
mysql容器运行时需要设置root密码;而wordpress容易运行时需要指定连接的mysql数据库。
从上面可以看到,访问wordpress的方法为:http://you_ip_address:8090/
云主机上当前运行的容器有如下三个:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b154e4f91721 wordpress "docker-entrypoint..." 2 weeks ago Up 2 weeks 0.0.0.0:8090->80/tcp my-wordpress 6af2dec5f4db mysql:8.0.1 "docker-entrypoint..." 2 weeks ago Up 2 weeks 3306/tcp mysql-wordpress 564a50ac029b httpd "httpd-foreground" 2 weeks ago Up 2 weeks 0.0.0.0:8080->80/tcp my-httpd
可以看到mysql后面有个8.0.1,说明对于mysql,没有拉最新的image。如果使用mysql最新版本的image,运行wordpress会出错,通过 sudo docker logs mysql-wordpress 查看错误日志并搜索错误信息关键字,可以看到大约时从8.0.3开始,版本中一个认证相关的更改会引起这个错误,因此尝试使用略微旧一点的mysql镜像,这里使用8.0.1,终于运行ok了。
关于wordpress的搭建,可以参考下面这个网页,写的比较详细,不过大概那时候引起错误的mysql的变更还未进行,因此在我仔细按照该文进行操作还是不行,反复几次到利用搜索工具最终解决错误的原因并规避,还是费了一番周折。
其他相关命令:
sudo docker stop mysql-wordpress # 停止容器 sudo docker rm mysql-wordpress # 删除容器
原文链接:https://blog.csdn.net/sharpbladepan/article/details/103658772?ops_request_misc=&request_id=f9be889009634066a9778e49e56ea8bd&biz_id=&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~koosearch~default-12-103658772-null-null.268%5Ev1%5Econtrol&utm_term=docker%E3%80%81wordpress%E3%80%81wordpress%E5%BB%BA%E7%AB%99%E3%80%81wordpress%E4%B8%BB%E9%A2%98%E3%80%81%E5%AE%B9%E5%99%A8%E9%95%9C%E5%83%8F%E3%80%81