Docker安装MySQL/Tomcat/Nginx步骤

镜像仓库:

docker中安装软件都是通过拉取镜像后直接运行的,所以我们需要知道镜像的来源,常用的镜像仓库如下:
①docker官方中央仓库:https://hub.docker.com/ 镜像最全,但是网慢,或连不上
②国内免登录镜像仓库:http://hub.daocloud.io/(推荐)
③其他需登录镜像仓库:网易、阿里云等
④公司内部私服镜像仓库:添加配置即可,添加方式如下:
编辑daemon.json文件,若文件不存在则需先创建文件,vim /etc/docker/daemon.json
{
    "registry-mirrors":["http://registry.docker-cn.com/"], # 或者将URL换成公司或自己的加速器地址
    "source-registries":["公司提供的ip:port"]
}
保存退出
重新载入该配置
systemctl daemon-reload
重启docker
systemctl restart docker

安装Tomcat:

一、进入镜像仓库,搜索镜像,进入镜像详情,选择版本页签,选择需要的版本,点击【拉取】复制镜像地址

二、拉取镜像,docker pull 镜像地址

三、成功下载镜像后,查看本地镜像docker images

四、创建数据卷,或称为存储卷。其创建目的是为了将宿主机的一个目录映射到容器目录中,通过操作宿主机的目录来同步改变容器中的目录,相关命令如下:
创建数据卷:
docker volume create 数据卷名称
查看数据卷详情:
docker volume inspect 数据卷名称
查看全部数据卷:
docker volume ls
删除数据卷:
docker volume rm 数据卷名称

创建名为volume_tomcat的数据卷
查看数据卷volume_tomcat的详情
查看所有数据卷

五、运行镜像,如:docker run -d -p 8087:8080 --name tomcat -v volume_tomcat:/usr/local/tomcat b8dfe9ade316
命令介绍:
docker run:运行容器
-d:后台启动,缺少该参数时若想执行其他命令必须停止当前容器的运行状态
-p:映射端口,前面端口指宿主机端口,任何未使用端口均可,后面端口指当前容器的端口,tomcat端口默认8080
--name:命名,重新给此容器命个名,启动/停止/重启/删除均可直接使用该名称
-v :给容器挂载数据卷,冒号前是宿主机上闯将的数据卷目录,冒号后是容器的目录
后面是镜像id或者镜像名称与标签组合,举例:通过查看镜像docker images获取镜像信息
如上图中tomcat的镜像信息,id为b8dfe9ade316,使用时可以只是用前几位数,只要保证当前本地镜像中是唯一标识即可
镜像名称与标签组合为daocloud.io/library/tomcat:8.5.15-jre8
所以运行tomcat容器,以下三条命令任一即可
①docker run -d -p 8087:8080 --name tomcat -v volume_tomcat:/usr/local/tomcat b8dfe9ade316
②docker run -d -p 8087:8080 --name tomcat -v volume_tomcat:/usr/local/tomcat b8
③docker run -d -p 8087:8080 --name tomcat -v volume_tomcat:/usr/local/tomcat daocloud.io/library/tomcat:8.5.15-jre8

六、验证tomcat,注意:我们已经映射端口,所以访问是应使用宿主机端口,而非8080端口

部署war包:

 将war包上传到数据卷下的webapps目录下即可访问

 


安装MySQL:

一、进入镜像仓库,搜索镜像,进入镜像详情,选择版本页签,选择需要的版本,点击【拉取】复制镜像地址
二、拉取镜像docker pull 镜像地址三、查看镜像docker images
四、运行镜像docker run -d -p 3366:3306 -e MYSQL_ROOT_PASSWORD=root --name mysql 789
              或者docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql
此软件安装未创建数据卷,可根据需要选择,最简单的运行容器命令为:docker run 容器ID
-e:指定环境,此处MYSQL_ROOT_PASSWORD=root 意思是指定mysql中root用户默认密码为root

运行镜像亦可直接运行此命令,不创建数据卷直接挂载到现有目录
docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码,这里设置初始密码为123456

验证MySQL,通过navicat连接MySQL,若连接失败,请依次执行以下命令:
进入容器:docker exec -it 容器名称或ID /bin/bash
进入Mysql:mysql -uroot -p 密码
授权:GRANT ALL ON *.* TO 'root'@'%';
更新加密规则:ALTER USER 'root'@'localhost' IDENTIFIED BY '你的mysql密码' PASSWORD EXPIRE NEVER;
修改Mysql密码(若不修改可忽略):ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的mysql密码';
刷新权限:flush privileges;
退出Mysql:exit;或者按Ctrl+d
重启并设为自启:docker update --restart=always 容器ID
完成以上步骤若还不能连接就请自行度娘吧!


安装Nginx:

此处为最简单方式,有机会再详细介绍
一、进入镜像仓库,搜索镜像,进入镜像详情,选择版本页签,选择需要的版本,点击【拉取】复制镜像地址
二、拉取镜像docker pull 镜像地址
三、查看镜像docker images
四、创建数据卷docker volume create 数据卷名称
五、运行镜像docker run -d -p 80:80 --name nginx -v volume_nginx:/usr/share/nginx/html:ro 2f7

验证Nginx,Nginx默认端口为80,浏览器中输入宿主机ip地址及端口号


安装过程中用到的命令:

docker pull 镜像地址:[版本] :拉取镜像

docker images:查看本地镜像

docker rmi 镜像名或ID :删除镜像

docker volume create 数据卷名 :创建数据卷

docker volume inspect 数据卷名 :查看数据卷详情

docker volume ls :查看全部数据卷

docker volume rm 数据卷名 : 删除数据卷

docker run 镜像ID或镜像名称:[Tag] :运行容器,常用参数-d、-p、--name、-v

docker ps -a:查看所有容器状态,去掉-a参数则只显示运行中的容器

docker logs -f 容器名或ID :查看容器日志,-f参数指滚动查看,可省略

docker start 容器名或ID :启动容器

docker restart 容器名或ID :重启容器

docker stop 容器名或ID :停止容器

docker rm 容器名或ID :删除容器

docker start/restart/stop/rm (docker ps -qa) 启动/重启/停止/删除所有容器

docker search 镜像名 :搜索镜像

启动某一容器
删除所有容器
查看容器日志
搜索tomcat镜像

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白典

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值