mysql jbc驱动_docker使用示例

本文使用docker容器运行wordpress博客,采用了三种方法来演示,docker的使用

自建wordpress容器

采用官方的wordpress容器

采用docker compose容器管理工具

1.运行wordpress需要的环境

1)wordpress源码

2)php运行环境

3)mysql

2.自建wordpress容器

自建wordpress容器,将wordpress源码,相关php,mysql依赖,打包成一个image文件

1)下载wordpress源码

root@iZ238ut6jbcZ:/home/shijingjing# mkdir docker-demo && cd docker-demo

root@iZ238ut6jbcZ:/home/shijingjing/docker-demo# wget https://cn.wordpress.org/wordpress-4.9.4-zh_CN.tar.gz

root@iZ238ut6jbcZ:/home/shijingjing/docker-demo# tar -xvf wordpress-4.9.4-zh_CN.tar.gz

root@iZ238ut6jbcZ:/home/shijingjing/docker-demo# ls

wordpress wordpress-4.9.4-zh_CN.tar.gz

2)运行php-apache容器

root@iZ238ut6jbcZ:/home/shijingjing/docker-demo# docker container run -d --rm --name wordpress -p 8000:80 --volume "$PWD/":/var/www/html php:5.6-apache

-d: 容器后台运行

--rm: 容器停止后,自动删除容器文件

--name: 容器命名

-p: 端口映射,apache默认80端口,将容器的80端口映射到外部的8000端口

--volume: 文件夹内容映射,当前文件夹和容器的/var/www/html相互映射

php:5.6-apache:官方php image

查看php容器运行状态:

4298f38d91efa824d3d4822a8762918d.png

3)浏览器访问8000端口

0bcfe9be7f205c6e5d79dfc11ec936f4.png

访问外部8000端口,实际上访问的是容器的80端口,网站根目录/var/www/html,中wordpress文件夹

点击下一步,会要求输入数据库用户名,密码等

a83fe3e2014f6f4ffddb446ea5e115de.png

因此,我们必须要关联mysql容器

3)运行mysql容器

root@iZ238ut6jbcZ:/home/shijingjing/docker-demo# docker container run -d --rm --name mydb --env MYSQL_ROOT_PASSWORD=123456 --env MYSQL_DATABASE=wordpress mysql:5.7

-d: 容器后台运行

--rm: 容器停止后,自动删除容器文件

--name: 容器命名

--env: 传入容器的变量

MYSQL_ROOT_PASSWORD:mysql root用户密码设置

MYSQL_DATABASE:mysql数据库,不存在时创建

查看mysql容器运行状态:

979e1121e432028ecf351221fb5cdd1f.png

4)关联mysql容器

root@iZ238ut6jbcZ:/home/shijingjing/docker-demo# docker container run -d --rm --name wordpress -p 8000:80 --volume "$PWD/":/var/www/html --link mydb php:5.6-apache

e5b9dbd048ec22db681259ad6ee6758f.png

提交,依然报错

2d22c16f038d699f2689937615c692df.png

这是因为,我们运行的php环境,不支持mysql数据库驱动

5)创建带有mysql扩展的php image

新建Dockerfile文件

FROM php:5.6-apache

RUN docker-php-ext-install mysqli

创建image文件

235adb6c77cefbcdbea0a05dc77fbc6e.png

5)运行创建的含有mysql扩展的容器

root@iZ238ut6jbcZ:/home/shijingjing/docker-demo# docker container run -d --rm --name wordpress -p 8000:80 --volume "$PWD/":/var/www/html --link mydb:mysql phpwithmysql

点击提交,创建数据库成功!

b28dad385b3ad7c1bcf7bb57ccc2f0f0.png

2.使用官方Wordpress image

1)运行mysql容器

root@iZ238ut6jbcZ:~# docker container run -d --rm --name mydb --env MYSQL_ROOT_PASSWORD=123456 --env MYSQL_DATABASE=wordpress mysql:5.7

2)运行wordpress容器

root@iZ238ut6jbcZ:~# docker container run -d --rm --name wordpress -p 8000:80 --link mydb:mysql wordpress

3)浏览器访问

d4a00ec8434d6c0625ca362e1239f8f7.png

4)容器文件和本地文件相互映射

当我们需要修改容器文件的内容时,可以将容器文件映射到本地,修改本地,会反映到容器。

root@iZ238ut6jbcZ:~# docker container run -d --rm --name wordpress -p 8000:80 --link mydb:mysql --volume "$PWD/wordpress":/var/www/html wordpress

root@iZ238ut6jbcZ:/home/shijingjing/docker-demo# ls

wordpress wordpress-4.9.4-zh_CN.tar.gz

3.使用Docker Compose工具

前两种方法,都需要手动运行多个容器,docker compose提供了一种更简单的管理多个容器的方法。

1)安装docker compose

apt install docker-compose

2)在docker-demo文件下下,新建docker-compose.yml配置文件

mydb:

image: mysql:5.7

environment:

- MYSQL_ROOT_PASSWORD=123456

- MYSQL_DATABASE=wordpress

wordpress:

image: wordpress

links:

- mydb

ports:

- "0.0.0.0:8000:80"

working_dir: /var/www/html

volumes:

- wordpress:/var/www/html

顶层标签标示有两个容器mysql和web,具体的参数我们在前面已经介绍过

3)使用docker-compose启动容器

docker-compose up

4)浏览器访问

fb6ea977f8e5b0906d36bfb174059b38.png

5)关闭容器

docker-compose stop

6)删除容器文件,需在stop后

docker-compose rm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值