CentOS7使用docker搭建测试环境,docker内安装tomcat和mysql(详细图文介绍)
步骤如下:一、安装docker1.在线安装dockeryum install -y docker;2.启动docker服务systemctl start docker3.检查docker服务状态和版本#查看docker服务状态systemctl status docker;#查看docker版本docker version;二、安装tomcat1.docker搜索tomcat镜像docker se
Docker 简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker的三大核心组件:镜像、容器与仓库
镜像(Image)是一个配置好了所需环境的操作系统,我们在自己的电脑上运行一个docker容器,相当于开启了一个新的操作系统。比如说,如果我们在一台windows系统的电脑上运行一个安装了centos系统的docker镜像,就意味着我们可以进入一台centos系统的电脑进行操作。
容器(Container)是通过镜像来创建的,所以必须先有镜像才能创建容器,而生成的容器是一个独立于宿主机的隔离进程,并且有属于容器自己的网络和命名空间。
仓库(Repository)是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是 Docker Hub 公共仓库。
操作步骤如下:
一、安装docker
1.在线安装docker
yum install -y docker;
2.启动docker服务
systemctl start docker
3.检查docker服务状态和版本
#查看docker服务状态
systemctl status docker;
#查看docker版本
docker version;
4.修改Docker国内镜像加速地址及可用源
vim /etc/docker/daemon.json;
#将以下内容复制到daemon.json配置文件中后保存退出
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
5.把docker0网卡添加到trusted域(trusted域接受所有的连接,不加入该域docker容器映射的端口号即使在防火墙开放了,也有可能会被拒绝访问)
firewall-cmd --permanent --zone=trusted --change-interface=docker0;
#重启防火墙
systemctl restart firewalld.service;
6.重启dockers服务
systemctl restart docker;
二、安装tomcat
1.docker搜索tomcat镜像
docker search tomcat;
2.拉取需要的镜像(如不指定版本,docker会拉取最多用户量的)
docker pull tomcat:8.5.38;
等待拉取完成
3.查看docker已拉取的镜像
docker images;
#补充
#删除镜像:
#docker rmi 镜像ID
REPOSITORY # 镜像仓库
TAG # 镜像标签
IMAGE ID # 镜像ID
CREATED # 镜像创建时间
SIZE # 镜像大小
4.制作tomcat容器
docker run --name tomcat -p 8080:8080 -d tomcat:8.5.38;
#--name 是创建好的容器命名
#-p 端口映射 Linux防火墙的端口号:容器内的端口
#-d 后台运行(以哪个镜像和标签制作容器)
5.容器制作后会自动启动,查看所有容器
docker ps -a;
CONTAINER ID #容器ID
IMAGE #镜像
COMMAND #命令
CREATED #创建时间
STATUS #当前运行状态
PORT #端口号
NAMES #容器名称
补充:启动/停止/重启/删除 容器操作
#停止容器
docker stop 容器名称
#启动容器
docker start 容器名称
#重启容器
docker restart 容器名称
#删除容器(删除容器时,需要先停止容器)
docker rm 容器名称
#操作停止/启动/重启/删除容器时,用容器ID或容器名称都可以
6.进入容器内部,查看tomcat目录
docker exec -it 容器名称 bash
7.进入webapps目录检查,有tomcat测试页面的文件
8.退出容器
#退出容器
exit;
9.开放防火墙8080端口号
开端口命令:firewall-cmd --zone=public --add-port=8080/tcp --permanent
重启防火墙:systemctl restart firewalld.service
10.浏览器输入服务器ip和8080端口号访问tomcat
三、安装mysql
1.docker拉取mysql的镜像
docker pull mysql:5.7.33;
docker images;
3.制作mysql容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.33
#--name 是创建好的容器命名
#-p 端口映射 Linux防火墙的端口号:容器内的端口
#-d 后台运行
#-e 设置参数(将mysql初始默认密码设置为123456)
4.进入mysql容器内部
#查看容器
docker ps -a;
#进入mysql容器
docker exec -ti mysql容器ID bash
5.进入mysql
mysql -u root -p
6.给root账号授权
grant all privileges on *.* to root@'%' identified by '123456'; #授予root用户的密码为Aa123456.,允许其可以通过所有客户机访问本数据库下的所有的库及其下面所有的表,权限为所有权限。
flush privileges; #刷新权限
7.新建一个数据库
create database iruance_cms default charset=utf8;
8.退出mysql和容器,将sql文件从linux上传到mysql容器
#退出mysql和容器,在linux上执行
docker cp 文件名称 容器ID:/;
9.进入mysql容器,将sql文件还原到新建的数据库中
#进入mysql容器,将sql文件还原到新建的数据库中
mysql -u root -p123456 iruance_cms<cms_project.sql
10.退出mysql容器,开放3306端口号
开端口命令:firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙:systemctl restart firewalld.service
四、将项目包部署到tomcat
1.进入tomcat容器,将webapps目录下的东西删除干净
2.将版本包上传到tomcat容器
docker cp 文件名称 容器ID:/usr/local/tomcat/webapps;
#补充
#将容器上的文件复制到本地
docker cp 容器ID:/usr/local/tomcat/webapps/文件名称 /root;
容器内查看
3.容器内安装vim,编辑版本包中JDBC配置文件
apt-get update;
apt-get install vim;
4.重启tomcat服务
#退出容器
exit;
#查看容器
docker ps -a;
#重启tomcat容器
docker restart 容器ID
#补充
#实时刷新查看docker内的日志
docker logs -f 容器ID
5.浏览器输入 服务器ip+8080端口号+项目目录名称 访问
至此搭建完成
更多推荐
所有评论(0)