Docker WordPress安装
今天开发应用程序所需要的不仅仅是编写代码。在每个生命周期阶段,工具之间的多种语言,框架,体系结构以及不连续的接口都会带来极大的复杂性。Docker简化并加速了工作流程,同时使开发人员可以自由选择每个项目的工具,应用程序堆栈和部署环境进行创新。
·
前言
今天开发应用程序所需要的不仅仅是编写代码。在每个生命周期阶段,工具之间的多种语言,框架,体系结构以及不连续的接口都会带来极大的复杂性。Docker简化并加速了工作流程,同时使开发人员可以自由选择每个项目的工具,应用程序堆栈和部署环境进行创新。
一、基础概念
image: 一个只读模版,可以用来创建container。比如一个包含ubuntu系统的镜像。
container: 从镜像创建的运行容器。可以用docker命令去控制这些container。
repository:仓库。存放镜像。
volume: 保存持久化数据。
network: 连接docker容器服务。
二、安装
1、安装及配置
[root@localhost ~]# yum install docker #docker安装
[root@localhost ~]# systemctl start docker #启动docker
[root@localhost /]# docker pull wordpress #拉取wordpress镜像
[root@localhost /]# docker pull mysql:5.6 #拉取mysql镜像
[root@localhost /]# docker images #查看是否安装成功
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/wordpress latest 66b89e8b083b 2 weeks ago 609 MB
docker.io/mysql 5.6 dd3b2a5dcb48 8 months ago 303 MB
[root@localhost /]# docker run -d --name wordpressdb -e MYSQL_ROOT_PASSWORD=password mysql:5.6
#启动mysql
-d:启动的容器在后台运行
--name:容器名字
-e MYSQL_ROOT_PASSWORD:设置MySQL的root密码,设置的密码为password
:5.6: 指定版本
[root@localhost /]# docker run -d --name wordpress --link wordpressdb:mysql -p 8080:80 wordpress
#启动wordpress
-d:启动的容器在后台运行
--link:将wordpress容器挂载到mysql
-p:指定访问WordPress容器的8080端口
[root@localhost ~]# docker ps #查看运行中的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2940bfed90b wordpress "docker-entrypoint..." 11 seconds ago Up 7 seconds 0.0.0.0:8080->80/tcp wordpress
38a0a95a0bc2 mysql:5.6 "docker-entrypoint..." 20 seconds ago Up 19 seconds 3306/tcp wordpressdb
2、验证是否安装成功
http://192.168.1.1:8080/wp-admin/setup-config.php #测试虚拟机IP地址192.168.1.1
到这里,本次安装就完成。
三、总结
1、本次安装遇到的问题
wordpress和mysql安装完后,进入安装界面,输入数据库名称、密码等,报账号密码错误。检查发现数据库内未建库,wp-config.php未设置账号密码
[root@localhost /]# docker exec -it wordpressdb mysql -uroot -p #登陆数据库
mysql> show databases; #查看是否有建库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
mysql> create database wordpress; #建库
mysql> flush privileges; #刷新
[root@localhost /]# docker exec -it a2940bfed90b /bin/bash #登陆wordpress
[root@a2940bfed90b:/var/www/html# apt-get install vim #wordpress容器中没安装vim,手动安装
[root@a2940bfed90b:/var/www/html# vim wp-config-docker.php #查看wp-config-php
define( 'DB_NAME', getenv_docker('WORDPRESS_DB_NAME', 'wordpress') ); #数据库名称修改成wordpress
/** Database username */
define( 'DB_USER', getenv_docker('WORDPRESS_DB_USER', 'root') ); #账号修改成root
/** Database password */
define( 'DB_PASSWORD', getenv_docker('WORDPRESS_DB_PASSWORD', 'password') ); #密码修改成password
[root@a2940bfed90b:/var/www/html# exit #退出
[root@localhost /]# docker restart a2940bfed90b #重启容器
2、docker其他的配置及卸载
[root@localhost /]# docker images #查看镜像
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/wordpress latest 66b89e8b083b 2 weeks ago 609 MB
docker.io/mysql 5.6 dd3b2a5dcb48 8 months ago 303 MB
[root@localhost /]# docker ps #查看运行中的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2940bfed90b wordpress "docker-entrypoint..." 3 hours ago Up About an hour 0.0.0.0:8080->80/tcp wordpress
38a0a95a0bc2 mysql:5.6 "docker-entrypoint..." 3 hours ago Up 2 hours 3306/tcp wordpressdb
查看容器信息
[root@localhost /]# docker inspect 66b89e8b083b #查看镜像、实例的元数据
[root@localhost /]# docker top wordpress #查看容器的进程信息
[root@localhost /]# docker container ls -aq #仅查看容器id
a2940bfed90b
38a0a95a0bc2
查看容器的运行日志
[root@localhost /]# docker logs -f a2940bfed90b #实时查看
[root@localhost /]# docker logs --tail 20 a2940bfed90b #仅仅查看日志的最后20行
删除镜像
[root@localhost ~]# docker stop a2940bfed90b #停止运行该容器
[root@localhost ~]# docker rm a2940bfed90b #删除该容器
[root@localhost ~]# docker rmi 66b89e8b083b #删除镜像
更多推荐
已为社区贡献1条内容
所有评论(0)