提示:以下是在腾讯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. All LeetCode Questions List 题目汇总

    All LeetCode Questions List(Part of Answers, still updating) 题目汇总及部分答案(持续更新中) Leetcode problems clas ...

  2. GraphQL漏洞案例之获取Facebook任意用户的朋友列表和部分支付卡详细信息

    Facebook有一个GraphQL endpoint,只能由Facebook的某些应用程序使用.需要用户(或页面)access_token来查询GraphQL endpoint. 这里可以将Face ...

  3. Java8学习之异步编程

    异步编程 所谓异步其实就是实现一个无需等待被调用函数的返回值而让操作继续运行的方法 创建任务并执行任务 无参创建 CompletableFuture<String> noArgsFutur ...

  4. Vue父子组件相互传值及调用方法的方案

    Vue父子组件相互传值及调用方法的方案 一.调用方法: 1.父组件调用子组件方法: 2.子组件调用父组件方法: 参考:https://www.cnblogs.com/jin-zhe/p/9523782 ...

  5. 二级C语言模拟试题(第1套)

    1. 选择题. 1-1,判断各种变量所占的字节数. #include<stdio.h> int main() { char p[] = {'6','2','3'}, *q = p; int ...

  6. 理解 Node.js 的 GC 机制

    <深入浅出Node.js>第五章<内存控制>阅读笔记 随着 Node 的发展,JavaScript 的应用场景早已不再局限在浏览器中.本文不讨论网页应用.命令行工具等短时间执行 ...

  7. 手撕面试官系列(四 ):MongoDB+Redis 面试专题

    MongoDB   (面试题+答案领取方式见侧边栏) 你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用NoSQL 数据库?说一说 NoSQL 数据 ...

  8. Vue框架(二)——Vue指令(v-once指令、v-cloak指令、条件指令、v-pre指令、循环指令)、todolist案例、Vue实例(计算、监听)、组件、组件数据交互

    Vue指令 1.v-once指令  单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) <!DOCTYPE html> <html lang=" ...

  9. Django框架(十三)——Auth模块

    Auth模块 一.什么是auth模块 Auth模块是Django自带的用户认证模块 Auth模块是Django自带的用户认证模块,可以实现包括用户注册.用户登录.用户认证.注销.修改密码等功能.默认使 ...

  10. 【实战经验】--Xilinx--IPcore--PLL生成

    用途: PLL用于产生自己想要的时钟,可以倍频有可以分频,通常倍频. 生成: 1.打开ISE—— Project —— New source,选择IP(CORE Generator & Arc ...