Docker入门基础之应用实战
当我们掌握了Docker镜像和容器的基本用法后,我们现在能做些什么事情呢?现在我们就来看看使用Docker容器如何安装常见的软件,然后运行一个动态网站。
下面我们来学习:
- 1、安装Nginx
- 2、安装PHP
- 3、使用MySQL服务
- 4、运行wordpress博客
安装Nginx
运行一个Alpine的容器,选择Alpine作为系统基础镜像是因为Alpine轻巧的体积,基础镜像只有5.53MB,相比ubuntu镜像的88.9MB要小十几倍。
root@ubuntu:~# docker run -it -p 8080:80 alpine sh
安装nginx
apk add nginx
修改nginx配置
vi /etc/nginx/conf.d/default.conf
default.conf内容如下:
server { listen 80 default_server; root /home/www; index index.php index.html; }
创建Hello World
mkdir /home/www && echo "Hello World" > /home/www/index.html
创建/run/nginx目录
mkdir /run/nginx
启动nginx
nginx
在浏览器中访问 http://192.168.43.122:8080
nginx安装成功,WEB服务访问正常!
安装PHP
现在我们来安装PHP,方法还是一样,使用 apk add
命令来安装php7,php-fpm以及相关扩展。
apk add --no-cache php7 php7-fpm php7-ftp php7-pdo php7-mysqli php7-simplexml php7-xmlwriter php7-zlib php7-imagick php7-memcached php7-sockets php7-mcrypt php7-zip php7-pgsql php7-pdo_odbc php7-odbc php7-curl php7-iconv php7-xml php7-json php7-gd php7-session php7-opcache php7-pdo_sqlite php7-mbstring php7-common php7-pdo_mysql
以上顺带安装了很多php扩展,可根据实际需求增减。
现在启动php-fpm7
php-fpm7
修改nginx配置,添加php支持
vi /etc/nginx/conf.d/default.conf
内容如下
server { listen 80 default_server; root /home/www; index index.php index.html; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME /home/www$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }
在网站目录中创建phpinfo.php
echo "<?php phpinfo(); ?>" > /home/www/phpinfo.php
重启nginx
nginx -s reload
在浏览器中访问 http://192.168.43.122:8080/phpinfo.php
PHP安装成功,WEB服务访问正常!
使用MySQL服务
我们不在Alpine里面安装MySQL,为了使用效率,这里我们直接使用官方镜像即可,新开一个ssh终端连接宿主机,在home目录下新建database目录
mkdir /home/database
使用官方mysql5.7镜像运行一个容器,root密码设置为123456,映射3306端口,并将宿主机/home/database目录挂载到容器/var/lib/mysql目录
docker run -dit -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -v /home/database:/var/lib/mysql mysql:5.7
docker ps
查看容器
上图中看到,我们现在运行了2个容器,1个是安装了nginx和php的Alpine容器,1个是mysql5.7的容器
进入mysql容器
docker exec -it c8c85af64822 sh
登录并创建wordpress数据库
#用root用户登录 mysql -u root -p #创建wordpress数据库 mysql> CREATE DATABASE wordpress;
运行wordpress博客
php网站环境和mysql数据库都准备好了,现在我们回到Alpine的ssh终端上,在容器内下载一个wordpress网站程序。
#进入网站目录 cd /home/www/ #下载wordpress wget https://wordpress.org/latest.tar.gz #解压 tar zxvf latest.tar.gz #将wordpress目录下的文件复制到www目录下 cp -ri /home/www/wordpress/* /home/www/ #设置777权限 chmod -R 777 /home/www/
在浏览器中访问 http://192.168.43.122:8080,可以看到wordpres页面
填写数据库信息
安装完成,wordpress正常使用!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
【教程】sqlserver数据库迁移阿里云服务器ECS详细教程
有时候,我们的平台做大了之后,就会考虑升级服务器等设备,或者从一家平台换到另一家平台,或者原先在ECS上的数据库现在要迁移到RDS上去。这就会涉及到数据库迁移。 那么sqlserver数据库如何迁移搬家呢?有需要的朋友请看这篇教程 首先登录数据库管理平台:https://dms-net.aliyun.com/ 1.选择你的数据库,点击E-R图,再点击下载SQL脚本,并将下载的数据库脚本上传到ECS服务器上,待用 2.登录ECS服务器,连接好本地SQLserver数据库服务器和远程SQLserver数据库点击文件->连接对象资源管理器,输入远程SQL数据库名称,帐号,密码连接 连接成功后,可以看到两个sql数据库,一个本地的,一个是远程的 3.在本地SQLserver服务器上,新建同名Sql数据库 4.右击本地数据库,选择新建查询,并将步骤1下载SQL脚本,拖动到新建查询执行框中,然后点击执行,建立数据库表结构 到这里,数据库表已经建好了,但是表里面的数据是空的,接下来,我们把数据从旧数据库导致到本地数据库中来 5.右击远程sqlserver数据库,点击任务->导出数据库 6...
- 下一篇
阿里云Kubernetes CSI实践 - TopologyAware云盘卷
Topology Aware 对于云盘这种存储卷类型,只能在相同zone的ecs上进行挂载,在多可用区的集群环境中,就需要对pv、pvc和pod进行一致性zone调度; 1. 传统使用方式: 通过PV、PVC所在zoneid信息,把pod调度到相应zone; 即在PV中定义相应的zoneid信息,当一个pod使用这个pv的时候,scheduler会根据pv的zoneid把pod调度到相应可用区; 具体配置: apiVersion: v1 kind: PersistentVolume metadata: labels: failure-domain.beta.kubernetes.io/region: cn-beijing failure-domain.beta.kubernetes.io/zone: cn-beijing-
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8编译安装MySQL8.0.19