Docker练习(一)-安装LA(N)MP、Tomcat和Nginx及Nginx反向代理

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'

具体安装过程如下:
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]

2.拉取镜像

docker pull tutum/lamp

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上被挂载的位置

在这里插入图片描述

0x02 安装LNMP

1.查询镜像

docker search lnmp

2.拉取镜像

docker pull winstonpro/lnmp

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

在这里插入图片描述

0x03 安装vim

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

root@dc3d333fc181:~# apt-get update

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

root@dc3d333fc181:~# apt-get install vim

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

root@dc3d333fc181:~# cat /etc/apt/sources.list
# 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

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

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

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

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

0x04 安装Tomcat

1.查找tomcat镜像

docker search tomcat

在这里插入图片描述
2.拉取tomcat版本为7的镜像
可以先看一下镜像是否已经拉取

docker images

拉取tomcat版本为7的镜像

docker pull tomcat:7

在这里插入图片描述
3.启动Tomcat
可以先看一下容器是否已经启动

docker ps -a

在这里插入图片描述
没找到,说明没启动,需要启动tomcat容器。
查看一下tomcat镜像

docker images

在这里插入图片描述
启动Tomcat容器

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

在这里插入图片描述
容器启动成功。
4.移动Tomcat自带的项目文件ROOT
进入容器

docker exec -it tomcat /bin/bash

在这里插入图片描述
将webapps.dist目录文件下tomcat自带的项目文件ROOT移动到webapps目录文件下

mv ./webapps.dist/ROOT webapps/

在这里插入图片描述
5.访问测试
访问测试一下
在这里插入图片描述
访问成功,Tomcat服务构建成功。

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

1.查找nginx镜像

docker search nginx

在这里插入图片描述
2.拉取nginx镜像
拉取箭头所指的镜像

docker pull nginx

在这里插入图片描述
3.启动nginx容器

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

在这里插入图片描述
4.访问测试
在这里插入图片描述
访问成功,说明nginx安装成功。
5.设置反向代理并测试
首先进入容器

docker exec -it nginx_1 /bin/bash

在这里插入图片描述
安装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

在这里插入图片描述
用vim打开nginx.conf配置文件,并添加以下选项

vim /etc/nginx/nginx.conf

在这里插入图片描述
打开/etc/nginx/conf.d/目录,发现.conf后缀的文件只有default.conf文件。
打开default.conf文件配置反向代理:

vim /etc/nginx/conf.d/default.conf
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地址或域名
}

在这里插入图片描述
意思是:通过访问http://39.105.93.165:8888,其实访问到的是http://39.105.93.165:8000

也可以使用docker内网地址进行反向代理配置,通过公网ip访问。
查看docker内网ip

docker inspect 容器名/id

在这里插入图片描述
保存退出,然后重启容器

docker restart nginx_1

在这里插入图片描述
然后访问http://39.105.93.165:8888
在这里插入图片描述
这样访问的nginx服务器http://39.105.93.165:8888
其实是访问到了的是服务地址为http://39.105.93.165:8000的tomcat服务
从而实现简单的反向代理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章