Docker练习(一)-安装LA(N)MP、Tomcat和Nginx及MySQL

admin 2021年9月29日06:42:36Docker练习(一)-安装LA(N)MP、Tomcat和Nginx及MySQL已关闭评论72 views字数 4464阅读14分52秒阅读模式

0x01 安装LAMP

可能用到的命令

#拉取镜像
docker pull tutum/lamp
#查看镜像
docker images
#启动容器并绑定端口
docker run -d -p 8080:80 -p 3306:3306 -v /var/www/app/:/var/www/html tutum/lamp
#查看运行的容器
docker ps
docker ps -a
#进入正在运行的容器
docker exec -it 'id/name' /bin/bash  
#退出容器
exit
#开启、重启、停止容器
docker start 'id/name'
docker restart 'id/name'
docker stop 'id/name'

shell复制代码

具体安装过程如下:
1.查询镜像

root@qwzf:~# docker search lamp
NAME                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
linode/lamp                   LAMP on Ubuntu 14.04.1 LTS Container            179                                     
mattrayner/lamp               A simple LAMP docker image running the prere…   170                                     [OK]
tutum/lamp                    Out-of-the-box LAMP image (PHP+MySQL)           132                                     
greyltc/lamp                  a super secure, up-to-date and lightweight L…   99                                      [OK]
fauria/lamp                   Modern, developer friendly LAMP stack. Inclu…   79                                      [OK]

shell复制代码

2.拉取镜像

docker pull tutum/lamp

shell复制代码

3.启动守护式容器并端口映射和挂载目录

root@qwzf:~# docker run --name=lamp -d -p 8080:80 -p 3306:3306 -v /var/www/app/lamp/:/var/www/html tutum/lamp
#8080 宿主机端口 80 docker端口
#/var/www/app/lamp/ 宿主机要挂载的目录
#/var/www/html docker上被挂载的位置

shell复制代码

在这里插入图片描述

在这里插入图片描述

0x02 安装LNMP

1.查询镜像

docker search lnmp

bash复制代码

2.拉取镜像

docker pull winstonpro/lnmp

bash复制代码

3.启动守护式容器并端口映射和挂载目录

root@qwzf:~# docker run --name=lnmp -d -p 8000:80 -p 3000:3306 -v /var/www/app/lnmp/:/usr/share/nginx/html winstonpro/lnmp

bash复制代码

在这里插入图片描述

在这里插入图片描述

0x03 安装vim

方式一:默认源安装
执行apt-get update更新源

root@dc3d333fc181:~# apt-get update

shell复制代码

更新完过后我们就可以安装了vim了

root@dc3d333fc181:~# apt-get install vim

shell复制代码

以上的方式虽然可以实现安装vim,但是速度很慢。下面是更快的方式
方式二:aliyun源安装
因为没有vi,vim编辑工具,我这里使用sed命令进行编辑文件内容。
首先查看默认源地址:

root@dc3d333fc181:~# cat /etc/apt/sources.list

shell复制代码

# deb http://snapshot.debian.org/archive/debian/20200130T000000Z buster main
deb http://deb.debian.org/debian buster main
# deb http://snapshot.debian.org/archive/debian-security/20200130T000000Z buster/updates main
deb http://security.debian.org/debian-security buster/updates main
# deb http://snapshot.debian.org/archive/debian/20200130T000000Z buster-updates main
deb http://deb.debian.org/debian buster-updates main

php复制代码

从上面的输出内容我们可以看出,默认会从deb.debian.org去更新源信息。我们将其替换为aliyun的源地址:

root@dc3d333fc181:~# sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list

shell复制代码

替换完源后我们就可以安装vim了

root@dc3d333fc181:~# apt-get clean
root@dc3d333fc181:~# apt-get update
root@dc3d333fc181:~# apt-get install vim

shell复制代码

0x04 安装Tomcat

1.查找tomcat镜像

docker search tomcat

shell复制代码

在这里插入图片描述

在这里插入图片描述

2.拉取tomcat版本为7的镜像
可以先看一下镜像是否已经拉取

docker images

shell复制代码

拉取tomcat版本为7的镜像

docker pull tomcat:7

shell复制代码

在这里插入图片描述

在这里插入图片描述

3.启动Tomcat
可以先看一下容器是否已经启动

docker ps -a

shell复制代码

在这里插入图片描述

在这里插入图片描述

没找到,说明没启动,需要启动tomcat容器。
查看一下tomcat镜像

docker images

shell复制代码

在这里插入图片描述

在这里插入图片描述

启动Tomcat容器

docker run --name tomcat -d -p 8000:8080 734d712b8777

shell复制代码

在这里插入图片描述

在这里插入图片描述

容器启动成功。
4.移动Tomcat自带的项目文件ROOT
进入容器

docker exec -it tomcat /bin/bash

shell复制代码

在这里插入图片描述

在这里插入图片描述

将webapps.dist目录文件下tomcat自带的项目文件ROOT移动到webapps目录文件下

mv ./webapps.dist/ROOT webapps/

shell复制代码

在这里插入图片描述

在这里插入图片描述

5.访问测试
访问测试一下

在这里插入图片描述

在这里插入图片描述

访问成功,Tomcat服务构建成功。

0x05 安装Nginx并实现反向代理

1.查找nginx镜像

docker search nginx

shell复制代码

在这里插入图片描述

在这里插入图片描述

2.拉取nginx镜像
拉取箭头所指的镜像

docker pull nginx

shell复制代码

在这里插入图片描述

在这里插入图片描述

3.启动nginx容器

docker run --name nginx_1 –d –p 8888:80 nginx

shell复制代码

在这里插入图片描述

在这里插入图片描述

4.访问测试

在这里插入图片描述

在这里插入图片描述

访问成功,说明nginx安装成功。
5.设置反向代理并测试
首先进入容器

docker exec -it nginx_1 /bin/bash

shell复制代码

在这里插入图片描述

在这里插入图片描述

安装vim

sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt-get clean
apt-get update
apt-get install vim

shell复制代码

在这里插入图片描述

在这里插入图片描述

用vim打开nginx.conf配置文件,并添加以下选项

vim /etc/nginx/nginx.conf

shell复制代码

在这里插入图片描述

在这里插入图片描述

打开/etc/nginx/conf.d/目录,发现.conf后缀的文件只有default.conf文件。
打开default.conf文件配置反向代理:

vim /etc/nginx/conf.d/default.conf

shell复制代码

server{
    listen    80;
    server_name    39.105.93.165:8888; #nginx反向代理服务器IP地址或域名
    location / {
        root    /usr/log/nginx/html;
        index    index.html    index.htm;
        proxy_pass    http:39.105.93.165:8000; #被代理的服务IP地址或域名
}

shell复制代码

在这里插入图片描述

在这里插入图片描述

意思是:通过访问http://39.105.93.165:8888,其实访问到的是http://39.105.93.165:8000
保存退出,然后重启容器

docker restart nginx_1

shell复制代码

在这里插入图片描述

在这里插入图片描述

然后访问http://39.105.93.165:8888

在这里插入图片描述

在这里插入图片描述

这样访问的nginx服务器http://39.105.93.165:8888
其实是访问到了的是服务地址为http://39.105.93.165:8000的tomcat服务
从而实现简单的反向代理。

0x06 安装MySQL

1.查找MySQL镜像

docker search mysql

shell复制代码

2.拉取MySQL版本5.7的镜像

docker pull mysql:5.7

shell复制代码

3.启动MySQL容器

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

shell复制代码

4.使用navicat连接测试

在这里插入图片描述

在这里插入图片描述

连接成功,说明MySQL安装成功
5.目录映射
先停止并删除MySQL的docker容器

docker stop mysql
docker rm mysql

shell复制代码

使用-v选项对/etc/mysql/var/log/mysql/var/lib/mysql目录进行目录映射

docker run --name mysql_1 -p 3306:3306 
-v /usr/local/docker/mysql/conf:/etc/mysql 
-v /usr/local/docker/mysql/logs:/var/log/mysql 
-v /usr/local/docker/mysql/data:/var/lib/mysql 
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 

shell复制代码

映射成功


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [email protected]

相关推荐: Windows 命令行混淆

开卷有益 · 不求甚解前言 许多 Windows 应用程序有多种方式可以表达相同的命令行,通常是出于兼容性或易用性的原因。结果,命令行参数的实现不一致,由于变化的数量,使得检测特定命令变得更加困难。这篇博文展示了 40 多个常用的内置 Windows…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年9月29日06:42:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Docker练习(一)-安装LA(N)MP、Tomcat和Nginx及MySQLhttp://cn-sec.com/archives/559576.html