提示:以下是在腾讯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的更多相关文章

  1. Centos7.3云服务器上安装Nginx、MySQL、JDK、Tomcat环境

    安装的软件路径建议放到/usr/local目录下 Tomcat 首先从最简单的Tomcat开始,进入到Apache的官网:http://www.apache.org,下载合适的版本来装,一般建议8.0 ...

  2. 使用亚马逊云服务器EC2做深度学习(四)配置好的系统镜像

    这是<使用亚马逊云服务器EC2做深度学习>系列的第四篇文章. (一)申请竞价实例  (二)配置Jupyter Notebook服务器  (三)配置TensorFlow  (四)配置好的系统 ...

  3. 使用亚马逊云服务器EC2做深度学习(三)配置TensorFlow

    这是<使用亚马逊云服务器EC2做深度学习>系列的第三篇文章. (一)申请竞价实例  (二)配置Jupyter Notebook服务器  (三)配置TensorFlow  (四)配置好的系统 ...

  4. 解决云服务器ECS,windows server 2012不能安装SQL Server 2012,不能安装.NET Fromework 3.5

    在云服务器上安装SQL Server 2012 时出现“启用windows功能NetFx3时出错”的问题:NetFx3指的是.NET Framework 3.5,SQL Server 2012数据库系 ...

  5. 阿里云服务器(windows server 2012 r2 64位)安装MYSQL8.0.18数据库 (小白必备)

    今儿中午询问了朋友关于服务器的一些事情后,就开始安装了,从中午大概一点,整到晚上九点,终于装成功了,感觉安装过程能遇到的问题全遇到了,给后面的朋友一些参考意见把. 第一次碰云服务器,措辞不当或不正确之 ...

  6. 阿里云服务器(Win 2008 R2 Standard)安装MSSM 2008 R2之1033和2052问题

    最近在给租用的阿里云服务器安装Sql Server 2008 R2 Express时,遭遇下面的问题.经过几番折腾后,终于解决问题,完成安装,这里总结分享我的解决方法,希望能给遇到相同问题的小伙伴们节 ...

  7. 使用亚马逊云服务器EC2做深度学习(二)配置Jupyter Notebook服务器

    这是<使用亚马逊云服务器EC2做深度学习>系列的第二篇文章. (一)申请竞价实例  (二)配置Jupyter Notebook服务器  (三)配置TensorFlow  (四)配置好的系统 ...

  8. 阿里云服务器centos6.x升级内核以能安装docker

    centos版本为6.9,因为需要安装docker,所以需要将内核升级 升级步骤: 先导入公钥: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elr ...

  9. CentOS7阿里云服务器,python程序requests无法正常post网站(报502)

    问题描述: 使用jenkins构建接口自动化测试时,发现新增加的接口case不能访问通,会报502错误(本地可以跑通,在测试服就会502)解决的思路: 缩小调试范围(去掉jenkins db环境,将问 ...

随机推荐

  1. spring boot使用AOP统一处理web请求

    为了保证服务的高可用,及时发现问题,迅速解决问题,为应用添加log是必不可少的. 但是随着项目的增大,方法增多,每个方法加单独加日志处理会有很多冗余 那在SpringBoot项目中如何统一的处理Web ...

  2. 前端与编译原理 用js去运行js代码 js2run

    # 前端与编译原理 用js去运行js代码 js2run 前端与编译原理似乎相隔甚远,各种热门的框架都学不过来,那能顾及到这么多底层呢,前端开发者们似乎对编译原理的影响仅仅是"抽象语法树&qu ...

  3. SpringBoot整合websocket

    1.新增pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId& ...

  4. 030 SSM综合练习06--数据后台管理系统--SSM权限操作及Spring Security入门

    1.权限操作涉及的三张表 (1)用户表信息描述users sql语句: CREATE TABLE users ( id ) DEFAULT SYS_GUID () PRIMARY KEY, email ...

  5. JAVA知识点总结篇(三)

    抽象类 使用规则 abstract定义抽象类: abstract定义抽象方法,只有声明,不需要实现: 包含抽象方法的类是抽象类: 抽象类中可以包含普通方法,也可以没有抽象方法: 抽象类不能直接创建,可 ...

  6. 第2课,python while循环的使用

    引言: 上次课学习了python turtle库的基本使用,向前向后和转向.本次课需要画多个图形,简单的东西多起来就变得不简单了. 0/1是简单的,但却能组成丰富多彩的多媒体世界. 课程内容: 1. ...

  7. 解决本地Bootstrap字体图标不可见的问题

    原文:https://www.jianshu.com/p/70ac459d33e7 作为Bootstrap的初学者,我最近遇到了一个问题:在使用Bootstrap字体图标时,图标不可见.使用代码如下: ...

  8. 手把手教你打造高效的 Kubernetes 命令行终端

    Kubernetes 作为云原生时代的操作系统,熟悉和使用它是每名用户的必备技能.本文将介绍一些提高操作 Kubernetes 效率的技巧以及如何打造一个高效的 Kubernetes 命令行终端的方法 ...

  9. 安卓自定义View基础 --坐标系,角度弧度,颜色

    转自:https://www.gcssloop.com/customview/CustomViewIndex/ 1.坐标系 2.角度弧度 3.颜色 一.屏幕坐标系和数学坐标系的区别 由于移动设备一般定 ...

  10. el-select和el-cascader的visible-change下拉框隐藏时触发相关事件(下拉框下拉显示时不触发)

    原文:https://blog.csdn.net/CarryBest/article/details/79959389 今天做项目时,用elementUI框架,需要下拉框隐藏时出发某个函数,用了vis ...