在腾讯CentOS7.4云服务器上安装Docker,在Docker上安装配置MySQL、Tomcat和Nginx
提示:以下是在腾讯CentOS7.4云服务器上操作。
Docker的基本操作:https://www.cnblogs.com/opsprobe/p/10963098.html
一、安装Docker
# 使用yum命令在线安装
yum install docker
# 安装后查看Docker版本
docker -v

# 启动与停止Docker
systemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合。
启动docker:systemctl start docker
停止docker:systemctl stop docker
重启docker:systemctl restart docker
查看docker状态:systemctl status docker
加入开机启动:systemctl enable docker

查看docker概要信息:docker info
查看docker帮助文档:docker --help
二、部署应用
1、MySQL部署
# 拉取MySQL镜像
docker pull mysql

# 查看镜像
docker images

# 创建MySQL容器
docker run -di --name my-mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
-p:代表端口映射,格式为 宿主机映射端口:容器运行端口
-e:代表添加环境变量 MYSQL_ROOT_PASSWORD是root用户的登录密码

进入MySQL容器,登陆MySQL
# 进入mysql容器
命令 docker exec -it container_name (或者 container_id) /bin/bash
docker exec -it my-mysql /bin/bash

注意:这里用的是登录守护式容器方式,用 exit 命令退出时,容器不会停止,docker ps -a 命令查看后台运行。
# 登录mysql,密码为创建容器时设置的123456
mysql -u root -p

远程登录MySQL
在自己的电脑上用Navicat软件连接云服务器的Docker容器,这里主机名或IP地址处填写云服务器的IP,端口填写映射端口33306
连接时出现以下错误提示:1251 - Client does not support authtication protocol requested by server;consider upgrading MySQL client

解决方法参考自:https://blog.csdn.net/uniquewonderq/article/details/89646327

root是用户名,'%' 是指任何IP地址,mysql_native_password是旧的密码验证机制, by '123456'中的 '123456' 是密码,最后别忘了分号;

查看容器IP地址
我们可以通过以下命令查看容器运行的各种数据
docker inspect my-mysql
执行下面的命令输出容器IP地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' my-mysql
运行效果如下:

我们可以看到数据库服务器的IP是172.17.0.2
2、Tomcat部署
拉取tomcat镜像
docker pull tomcat:8-jre8

创建tomcat容器
docker run -di --name=my-tomcat -p 9000:8080 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps --privileged=true tomcat:8-jre8

参数说明:
-p:表示地址映射
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
--privileged=true:表示将扩展权限授予此容器
测试:
在宿主主机 /usr/local/tomcat/webapps/ 目录下,新建目录test,在test目录下新建一个index.html命名的HTML文件,然后保存退出。

进入到容器查看,可看到webapps目录下有test目录:

在浏览器地址栏输入,服务器IP地址:9000/test/index.html,即可访问到如下界面。

3、Nginx部署
# 拉取Nginx镜像
docker pull nginx

创建Nginx容器
docker run -di --name=my-nginx -p 8585:80 nginx

在浏览器地址栏输入,服务器IP地址:8585

在腾讯CentOS7.4云服务器上安装Docker,在Docker上安装配置MySQL、Tomcat和Nginx的更多相关文章
- Centos7.3云服务器上安装Nginx、MySQL、JDK、Tomcat环境
安装的软件路径建议放到/usr/local目录下 Tomcat 首先从最简单的Tomcat开始,进入到Apache的官网:http://www.apache.org,下载合适的版本来装,一般建议8.0 ...
- 使用亚马逊云服务器EC2做深度学习(四)配置好的系统镜像
这是<使用亚马逊云服务器EC2做深度学习>系列的第四篇文章. (一)申请竞价实例 (二)配置Jupyter Notebook服务器 (三)配置TensorFlow (四)配置好的系统 ...
- 使用亚马逊云服务器EC2做深度学习(三)配置TensorFlow
这是<使用亚马逊云服务器EC2做深度学习>系列的第三篇文章. (一)申请竞价实例 (二)配置Jupyter Notebook服务器 (三)配置TensorFlow (四)配置好的系统 ...
- 解决云服务器ECS,windows server 2012不能安装SQL Server 2012,不能安装.NET Fromework 3.5
在云服务器上安装SQL Server 2012 时出现“启用windows功能NetFx3时出错”的问题:NetFx3指的是.NET Framework 3.5,SQL Server 2012数据库系 ...
- 阿里云服务器(windows server 2012 r2 64位)安装MYSQL8.0.18数据库 (小白必备)
今儿中午询问了朋友关于服务器的一些事情后,就开始安装了,从中午大概一点,整到晚上九点,终于装成功了,感觉安装过程能遇到的问题全遇到了,给后面的朋友一些参考意见把. 第一次碰云服务器,措辞不当或不正确之 ...
- 阿里云服务器(Win 2008 R2 Standard)安装MSSM 2008 R2之1033和2052问题
最近在给租用的阿里云服务器安装Sql Server 2008 R2 Express时,遭遇下面的问题.经过几番折腾后,终于解决问题,完成安装,这里总结分享我的解决方法,希望能给遇到相同问题的小伙伴们节 ...
- 使用亚马逊云服务器EC2做深度学习(二)配置Jupyter Notebook服务器
这是<使用亚马逊云服务器EC2做深度学习>系列的第二篇文章. (一)申请竞价实例 (二)配置Jupyter Notebook服务器 (三)配置TensorFlow (四)配置好的系统 ...
- 阿里云服务器centos6.x升级内核以能安装docker
centos版本为6.9,因为需要安装docker,所以需要将内核升级 升级步骤: 先导入公钥: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elr ...
- CentOS7阿里云服务器,python程序requests无法正常post网站(报502)
问题描述: 使用jenkins构建接口自动化测试时,发现新增加的接口case不能访问通,会报502错误(本地可以跑通,在测试服就会502)解决的思路: 缩小调试范围(去掉jenkins db环境,将问 ...
随机推荐
- python从写定时器学习Thread
目录 python从写定时器学习Thread Timer 对象 粗陋的循环定时器 更 pythonic 循环定时器 FAQ python从写定时器学习Thread python 如何写一个定时器,循环 ...
- spark笔记 环境配置
spark笔记 spark简介 saprk 有六个核心组件: SparkCore.SparkSQL.SparkStreaming.StructedStreaming.MLlib,Graphx Spar ...
- oracle python操作 增删改查
oracle删除 删除表内容 truncate table new_userinfo; 删除表 drop table new_userinfo; 1.首先,python链接oracle数据库需要配置好 ...
- java.lang.IllegalArgumentException,java.util.zip.ZipException 解决办法
控制台错误信息: 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apac ...
- 进程池和线程池、协程、TCP单线程实现并发
一.进程池和线程池 当被操作对象数目不大时,我们可以手动创建几个进程和线程,十几个几十个还好,但是如果有上百个上千个.手动操作麻烦而且电脑硬件跟不上,可以会崩溃,此时进程池.线程池的功效就能发挥了.我 ...
- C/C++語言 - 日常算法 - 蛇形填數
C/C++語言 - 日常算法 - 蛇形填數 日期 : 2019-06-11 問題描述: 在n×n方阵里填入1,2,…,n×n,要求填成蛇形. 例如,n=4时方阵为: 10 11 12 1 9 ...
- PostgreSQL学习笔记(二)—— 概览
数据库 创建数据库: createdb dbname 指定用户名创建数据库: createdb -U username dbname 删除数据库: dropdb dbname 访问数据库: psql ...
- linux查看当前路径命令 pwd
pwd命令能够显示当前所处的路径. 这个命令比较简单,如果有时在操作过程中忘记了当前的路径,则可以通过此命令来查看路径,其执行方式为: # pwd /home/your_username 第一行为运行 ...
- golang 之 go-micro
在安装之前首先需要对go-micro有一定的了解 https://micro.mu/docs/cn/ go-micro中文文档 https://juejin.im/post/5cebafe6f265 ...
- 【题解】Luogu P5360 [SDOI2019]世界地图
原题传送门 每次查询的实际就是将地图的一个前缀和一个后缀合并后的图的最小生成树边权和 我们要预处理每个前缀和后缀的最小生成树 实际求前缀和(后缀和)的过程珂以理解为上一个前缀和这一列的最小生成树进行合 ...