2
Docker练习(一)-安装LA(N)MP、Tomcat和Nginx及MySQL
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复制代码
在这里插入图片描述
可以先看一下镜像是否已经拉取
docker images
shell复制代码
拉取tomcat版本为7的镜像
docker pull tomcat:7
shell复制代码
在这里插入图片描述
可以先看一下容器是否已经启动
docker ps -a
shell复制代码
在这里插入图片描述
查看一下tomcat镜像
docker images
shell复制代码
在这里插入图片描述
docker run --name tomcat -d -p 8000:8080 734d712b8777
shell复制代码
在这里插入图片描述
4.移动Tomcat自带的项目文件ROOT
进入容器
docker exec -it tomcat /bin/bash
shell复制代码
在这里插入图片描述
mv ./webapps.dist/ROOT webapps/
shell复制代码
在这里插入图片描述
访问测试一下
在这里插入图片描述
0x05 安装Nginx并实现反向代理
1.查找nginx镜像
docker search nginx
shell复制代码
在这里插入图片描述
拉取箭头所指的镜像
docker pull nginx
shell复制代码
在这里插入图片描述
docker run --name nginx_1 –d –p 8888:80 nginx
shell复制代码
在这里插入图片描述
在这里插入图片描述
5.设置反向代理并测试
首先进入容器
docker exec -it nginx_1 /bin/bash
shell复制代码
在这里插入图片描述
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 /etc/nginx/nginx.conf
shell复制代码
在这里插入图片描述
打开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
在这里插入图片描述
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连接测试
在这里插入图片描述
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]
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK