Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos) | 您所在的位置:网站首页 › dockerfile构建redis › Docker部署常见应用(MySQL、Tomcat、Nginx、Redis、Centos) |
================================================================ 前提须知:(1)搜索镜像命令 格式:docker search 镜像名 (2)设置Docker镜像加速器 详见文章:Docker设置ustc的镜像源(镜像加速器) ================================================================ 1、部署MySQL(1)拉取镜像(这里拉取mysql5.7版本) [root@localhost ~]# docker pull mysql:5.7(2)创建容器(默认运行) [root@localhost ~]# docker run -di --name=my_mysql -p 33060:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql:5.7-p:代表端口映射,格式为:宿主机映射端口:容器运行端口,映射容器服务的 3306 端口到宿主机的 33060 端口,外部主机可以直接通过 宿主机ip:33060 访问到 MySQL 的服务。-e:代表添加环境变量,MYSQL_ROOT_PASSWORD=1234 为MySQL 服务 root 用户的密码。 (3)暂时关闭防火墙(可跳过) [root@localhost ~]# systemctl stop firewalld重启防火墙命令:service iptables restart (4)远程登录mysql(连接宿主机的IP,指定端口为33060) ①mysql客户端连接 mysql -h192.168.116.161 -P33060 -uroot -p②Novicat客工具连接 2、部署Tomcat特别提醒: 小虎测试: 从官网pull下来的tomcat8.0,部署maven项目war包时,提示“Unsupported major.minor version 52.0”,即不支持jdk8,重新pull下来的tomcat9.0正常运行该项目(故暂时建议安装tomcat9.0)。 (1)拉取镜像(这里拉取tomcat8.0版本) [root@localhost ~]# docker pull tomcat:8.0(2)查看所有镜像 [root@localhost ~]# docker images(3)创建tomcat容器 [root@localhost ~]# docker run -di --name=my_tomcat -p 8081:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:8.0注: 如果创建失败,请重启docker服务再试:systemctl restart docker -p:8081:8080:将主机的 8081 端口映射到容器的 8080 端口。-v:挂载目录。这里将宿主机目录/usr/local/webapps 挂载(映射)到 容器目录/usr/local/tomcat/webapps(如果没有,目录会自动创建) 。 查看容器启动情况,如果没有启动则启动tomcat: [root@localhost ~]# docker ps -a [root@localhost ~]# docker start my_tomcat my_tomcat [root@localhost ~]#(4)上传项目war包 此时在webapps没有任何文件,我们需要上传我们的war包到宿主系统目录:/usr/local/webapps 这里我们上传开源项目war包:cas.war 百度网盘项目地址 链接:https://pan.baidu.com/s/1co2Xpw-yNVwq6i87VR_tcQ 提取码:r465 【注】:这里需要等待一会,等待war包自动解压(或访问时会自动解压)。 (5)暂时关闭防火墙(可跳过) [root@localhost ~]# systemctl stop firewalld重启防火墙命令:service iptables restart (6)访问项目 访问地址:http://192.168.116.161:8081/cas/login 3、部署Nginx(1)拉取镜像 [root@localhost webapps]# docker pull nginx:1.16(2)查看所有镜像 [root@localhost ~]# docker images(3)创建Nginx容器 [root@localhost webapps]# docker run -di --name=my_nginx -p 81:80 nginx:1.16 4925395ef0eb0e3b52f9c8dc212f1793c8437caff93efb1d401b83c088b61238 [root@localhost webapps]# [root@localhost webapps]# [root@localhost webapps]# [root@localhost webapps]# docker ps -a-p :81:80,映射容器服务的 80端口到宿主机的 81 端口。外部可以直接通过宿主机ip:81访问到 nginx的服务。 (4)暂时关闭防火墙(可跳过) [root@localhost ~]# systemctl stop firewalld重启防火墙命令:service iptables restart (5)访问nginx 访问地址:http://192.168.116.161:81 (6)配置文件地址 及 相关说明 登录my_redis 容器: [root@localhost webapps]# docker exec -it my_nginx /bin/bash root@4925395ef0eb:/# dir bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@4925395ef0eb:/#我们查看my_nginx容器内默认配置文件:/etc/nginx/nginx.conf ,发现其中include命令:include /etc/nginx/conf.d/*.conf;,进入该目录,发现有一个默认的配置文件/etc/nginx/conf.d/default.conf,default.conf 内的静态文件目录配置如下: location / { root /usr/share/nginx/html; index index.html index.htm; }进入静态文件目录,找到了默认静态文件: root@4925395ef0eb:/etc/nginx/conf.d# cd /usr/share/nginx/html root@4925395ef0eb:/usr/share/nginx/html# dir 50x.html index.html root@4925395ef0eb:/usr/share/nginx/html#4、部署Redis(1)拉取镜像 [root@localhost webapps]# docker pull redis:5(2)查看所有镜像 [root@localhost ~]# docker images(3)创建redis容器(默认启动) [root@localhost webapps]# docker run -itd --name=my_redis -p 63790:6379 redis:5-p:63790:6379:映射容器服务的 6379 端口到宿主机的 63790 端口。外部可以直接通过宿主机ip:63790 访问到 Redis 的服务。 (4)暂时关闭防火墙(可跳过) [root@localhost ~]# systemctl stop firewalld重启防火墙命令:service iptables restart (5)连接redis ①redis-cli 连接使用测试 [root@localhost webapps]# docker exec -it my_redis /bin/bash root@ad95adf3a459:/data# redis-cli 127.0.0.1:6379> set name zhangsan OK 127.0.0.1:6379> get name "zhangsan" 127.0.0.1:6379> quit root@ad95adf3a459:/data# exit exit [root@localhost webapps]#②RedisDesktopManager工具连接测试 4、部署Centos(1)拉取镜像 [root@localhost ~]# docker pull centos:7**(2)查看所有镜像** ```bash [root@localhost ~]# docker images(3)创建centos容器(默认启动) [root@localhost webapps]# docker run -itd --name=my_centos centos:7 [root@localhost webapps]# docker ps(4)登录my_centos容器: [root@localhost webapps]# docker exec -it my_centos /bin/bash [root@ebc363fd0265 /]#
|
CopyRight 2018-2019 实验室设备网 版权所有 |