docker安装mysql,nginx,tomcat

一、Docker安装MySQL

1.拉取MySQL镜像

docker pull mysql				//拉取最新版本的MySQL
docker pull mysql:latest		//拉取最新版本的MySQL
docker pull mysql:xxx			//拉取指定版本的MySQL

2.创建MySQL容器

# --privileged=true 加权限  --restart=always 自启动
docker run --privileged=true --restart=always -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

二、Docker安装Tomcat

1.拉取Tomcat镜像

docker pull tomcat				//拉取最新版本的tomcat
docker pull tomcat:latest		//拉取最新版本的tomcat
docker pull tomcat:xxx			//拉取指定版本的tomcat

2.创建Tomcat容器

# --privileged=true 加权限  --restart=always 自启动
docker run -d -p 8080:8080  --privileged=true  --restart=always  --name tomcat tomcat:latest

三、Docker安装Nginx

docker images       查看docker的所有镜像

在这里插入图片描述

1.拉取Nginx镜像

docker pull nginx				//拉取最新版本的nginx
docker pull nginx:latest		//拉取最新版本的nginx
docker pull nginx:xxx			//拉取指定版本的nginx

启动前需要先创建Nginx外部挂载的配置文件( /home/nginx/conf/nginx.conf)
之所以要先创建 , 是因为Nginx本身容器只存在/etc/nginx 目录 , 本身就不创建 nginx.conf 文件
当服务器和容器都不存在 nginx.conf 文件时, 执行启动命令的时候 docker会将nginx.conf 作为目录创建 ,nginx.conf应作为配置文件,所以这并不是我们想要的结果 。

2.创建挂载目录

# 创建挂载目录
mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html
# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/nginx/

3.删除刚才创建的nginx容器

#先关闭容器再删除
docker ps -a        找到nginx对应的容器id
docker stop nginx/nginxid       关闭该容器
docker rm nginx/nginxid        删除该容器
#或者直接强制删除正在运行的nginx容器
docker rm -f nginx 

4.创建nginx容器

docker run -p 80:80  --privileged=true  --restart=always --name nginx \  
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/nginx/conf.d:/etc/nginx/conf.d \
-v /home/nginx/log:/var/log/nginx \
-v /home/nginx/html:/usr/share/nginx/html \
-d nginx:latest

#单行命令版
docker run -p 80:80  --privileged=true  --restart=always --name nginx -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/conf.d:/etc/nginx/conf.d -v /home/nginx/log:/var/log/nginx -v /home/nginx/html:/usr/share/nginx/html -d nginx:latest
-p 9001:80将容器的80端口映射到宿主机的9001端口,然后通过9001端口就能访问到该容器
- -privileged=true加权限
- -restart=always容器自启
- -name nginx容器名
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \挂载nginx.conf配置文件
-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \挂载nginx配置文件
-v /home/nginx/log:/var/log/nginx \挂载nginx.conf日志文件
-v /home/nginx/html:/usr/share/nginx/html \挂载nginx内容
-d后台运行
nginx:latest本地运行的版本
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值