Docker最佳实践-部署LNMP环境

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 标签(linux): docker笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流环境准备[root@docker ~]# cat /etc/redhat-release CentOS Linux release 7.

标签(linux): docker

笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流

img_584f381f87df3361133cb5cd55f984d1.png

环境准备

[root@docker ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core)
[root@docker ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           1.8G        209M        517M        8.9M        1.1G        1.3G
Swap:          1.0G          0B        1.0G
[root@docker ~]# hostname -I
10.0.0.250 172.16.1.250
systemctl disable firewalld.service
systemctl stop firewalld.service
iptables -F

安装yum-utils,它提供yum-config-manager实用程序

yum install -y yum-utils

添加稳定版本库

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo 

更新yum包索引

yum makecache fast

安装Docker社区版

yum install docker-ce -y

启动docker守护进程

systemctl enable docker
systemctl start docker
systemctl status docker

测试,,,网络延时问题可能会导致测试不成功,多测两次

docker run hello-world

查看镜像

c7是下面要用来启动容器的镜像,在centos镜像的基础上安装了常用软件包。

[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
c7                  latest              8af948261786        2 days ago          476 MB
centos              latest              a8493f5f50ff        6 weeks ago         192 MB

这里需要一些相关的软件包和配置文件,这里给大家提供了链接:http://pan.baidu.com/s/1eR8vdXg 密码:l1sj

创建web01

docker run --network=host -itd  --name=web01 -h web01 c7
docker attach web01

使用提供的软件包安装nginx

#nginx
yum localinstall -y  nginx-1.10.2-1.x86_64.rpm

nginx配置文件

cd /application/nginx/conf/

[root@web01 conf]# cat nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
include extra/blog.conf;
}
[root@web01 conf]# mkdir extra
[root@web01 extra]# ls
blog.conf

上传wordpress到站点根目录

[root@web01 extra]# cd /application/nginx/html/
[root@web01 html]# wget https://cn.wordpress.org/wordpress-4.7.4-zh_CN.tar.gz
[root@web01 html]# tar xf wordpress-4.7.4-zh_CN.tar.gz
[root@web01 html]# chown -R www.www /application/nginx/html

启动nginx,安装php并启动

/application/nginx/sbin/nginx
chmod +x /etc/rc.local
echo "/application/nginx/sbin/nginx" >> /etc/rc.local

#php
yum localinstall libiconv-devel-1.15-1.x86_64.rpm php-5.5.32-1.x86_64.rpm -y
/application/php/sbin/php-fpm
chmod +x /etc/rc.local
echo "/application/php/sbin/php-fpm" >> /etc/rc.local

创建数据库容器

docker run --network=host -itd  --name=db01 -h db01 c7
docker attach db01

安装并启动数据库

yum -y install mariadb mariadb-server
 mysql_install_db --user=mysql
 mysqld_safe    &>/dev/null &
/usr/bin/mysqladmin -u root password '123456'
mysql -uroot -p123456

创建wordpress库和授权帐户

create database wordpress;
grant all on wordpress.* to 'wordpress'@'localhost' identified by '123456';
grant all on wordpress.* to wordpress@'172.16.1.250' identified by '123456';

登录浏览器测试

来个美女养养眼
img_a804ca3efd9e2ae9e35858c8da3af41b.png

docker常用命令
http://www.cnblogs.com/Csir/p/6888474.html

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
Kubernetes 监控 开发者
掌握容器化:Docker与Kubernetes的最佳实践
【10月更文挑战第26天】本文深入探讨了Docker和Kubernetes的最佳实践,涵盖Dockerfile优化、数据卷管理、网络配置、Pod设计、服务发现与负载均衡、声明式更新等内容。同时介绍了容器化现有应用、自动化部署、监控与日志等开发技巧,以及Docker Compose和Helm等实用工具。旨在帮助开发者提高开发效率和系统稳定性,构建现代、高效、可扩展的应用。
|
3天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
9天前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
46 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
3天前
|
应用服务中间件 PHP nginx
Docker-compose 编排lnmp(dockerfile) 完成Wordpress
通过使用Docker Compose,我们可以轻松编排LNMP环境并部署WordPress。本文详细介绍了各组件的Dockerfile和配置文件编写,并通过docker-compose.yml文件实现了整个环境的自动化部署。这种方法不仅简化了部署过程,还提高了环境的可移植性和一致性。希望本文能帮助你更好地理解和使用Docker Compose来管理和部署复杂的应用程序。
20 3
|
6天前
|
关系型数据库 MySQL Docker
docker环境下mysql镜像启动后权限更改问题的解决
在Docker环境下运行MySQL容器时,权限问题是一个常见的困扰。通过正确设置目录和文件的权限,可以确保MySQL容器顺利启动并正常运行。本文提供了多种解决方案,包括在主机上设置正确的权限、使用Dockerfile和Docker Compose进行配置、在容器启动后手动更改权限以及使用 `init`脚本自动更改权限。根据实际情况选择合适的方法,可以有效解决MySQL容器启动后的权限问题。希望本文对您在Docker环境下运行MySQL容器有所帮助。
14 1
|
11天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
33 2
|
12天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
24 3
|
15天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
143 2
|
16天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
72 1
|
3天前
|
关系型数据库 MySQL API