2

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

 1 year ago
source link: https://qwzf.github.io/2020/06/30/Docker%E7%BB%83%E4%B9%A0(%E4%B8%80)-%E5%AE%89%E8%A3%85LA(N)MP%E3%80%81Tomcat%E5%92%8CNginx%E5%8F%8ANginx%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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]

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK