Docker篇(实际应用)

目录

[一、MySQL 部署](#一、MySQL 部署)

[1. 拉取 MySQL 镜像](#1. 拉取 MySQL 镜像)

[2. 查看镜像](#2. 查看镜像)

[3. 创建 MySQL 容器](#3. 创建 MySQL 容器)

[4. 进入 MySQL 容器,登陆 MySQL](#4. 进入 MySQL 容器,登陆 MySQL)

[5. 远程登陆 MySQL](#5. 远程登陆 MySQL)

[6. 查看容器 IP 地址](#6. 查看容器 IP 地址)

[二、tomcat 部署](#二、tomcat 部署)

[1. 拉取 tomcat 镜像](#1. 拉取 tomcat 镜像)

[2. 创建 tomcat 容器](#2. 创建 tomcat 容器)

[3. 搭建 Tomcat 服务并部署 web 应用](#3. 搭建 Tomcat 服务并部署 web 应用)

[三、Nginx 部署](#三、Nginx 部署)

[1. 拉取 Nginx 镜像](#1. 拉取 Nginx 镜像)

[2. 创建 Nginx 容器](#2. 创建 Nginx 容器)

[3. 测试 Nginx](#3. 测试 Nginx)

[四、Redis 部署](#四、Redis 部署)

[1. 拉取 Redis 镜像](#1. 拉取 Redis 镜像)

[2. 创建 Redis 容器](#2. 创建 Redis 容器)

[3. 客户端测试](#3. 客户端测试)

五、Docker部署Nexus


一、MySQL 部署

1. 拉取 MySQL 镜像

复制代码
docker pull mysql:5.6 

2. 查看镜像

复制代码
docker images 

3. 创建 MySQL 容器

复制代码
docker run -di --name kkb_mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.6 

-p 代表端口映射,格式为 宿主机映射端口:容器运行端口

-e 代表添加环境变量 MYSQL_ROOT_PASSWORD 是 root 用户的登陆密码

4. 进入 MySQL 容器,登陆 MySQL

进入 mysql 容器

复制代码
docker exec -it kkb_mysql

登陆 mysql

复制代码
mysql -u root -p

5. 远程登陆 MySQL

我们在我们本机的电脑上去连接虚拟机 Centos 中的 Docker 容器,

这里 192.168.247.130 是虚拟机操作系统的 IP

6. 查看容器 IP 地址

我们可以通过以下命令查看容器运行的各种数据

复制代码
docker inspect kkb_mysql

运行效果如下:

我们可以看到我们的数据库服务器的IP是172.17.0.2

二、tomcat 部署

1. 拉取 tomcat 镜像

复制代码
docker pull tomcat:7-jre7

2. 创建 tomcat 容器

创建容器 -p 表示地址映射

复制代码
docker run -di --name=kkb_tomcat -p 9000:8080 tomcat:7-jre7 

3. 搭建 Tomcat 服务并部署 web 应用

复制代码
docker run -di --name my-tomcat -v /root/webapps: /usr/local/tomcat/webapps -p 8888:8080 imageID 
 
docker run -ti --name my-tomcat -v /opt/webapps:/opt/tomcat/webapps -p 8888:8080 imageID /bin/bash 

容器内的 tomcat 目录:/usr/local/tomcat/webapps

复制代码
docker run -di --name my-tomcat -v /kkb/webapps:/usr/local/tomcat/webapps -p 
8888:8080 --privileged=true tomcat:7-jre7 

说明:

  • --name:该参数的作用是给容器起一个名字,名字要唯一。
  • -v:该参数的作用是进行目录映射,具体指的是宿主机器和容器之间的目录映射。
  • /opt/webapps:宿主机器的目录
  • /opt/tomcat/webapps:容器中的目录
  • -p:该参数的作用是进行端口映射,具体指的是宿主机器和容器之间的端口映射。 8888 端口是宿主机的端口 8080 端口是容器内的端口

1、将 war 包上传到宿主机器的/opt/webapps/目录下。

2、tomat 会自动热部署,直接访问 web 应用的路径即可。

三、Nginx 部署

1. 拉取 Nginx 镜像

复制代码
docker pull nginx

2. 创建 Nginx 容器

复制代码
docker run -di --name=kkb_nginx -p 9080:80 nginx /bin/bash 

 
/usr/sbin/nginx 

3. 测试 Nginx

浏览器地址栏输入: http://192.168.247.135

四、Redis 部署

1. 拉取 Redis 镜像

复制代码
docker pull redis 

2. 创建 Redis 容器

复制代码
docker run -di --name=kkb_redis -p 16379:6379 redis 

3. 客户端测试

在你的本地电脑命令提示符下,用 window 版本 redis 测试

复制代码
redis-cli -h 192.168.247.135 

五、Docker部署Nexus

Docker安装Nexus搭建Maven私服及介绍_docker nexus-CSDN博客

相关推荐
xbzb4 小时前
镜像到底存在哪:/var/lib/docker 的四级映射与 daemon.json 配置
docker·容器·json·镜像·daemon.json·四级
Alluxio6 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
Sayai11 小时前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher
Elastic 中国社区官方博客11 小时前
更少的位数,相同的召回率:DiskBBQ 更保守的自动校准扫描
大数据·运维·开发语言·人工智能·elasticsearch·搜索引擎
方便面不加香菜11 小时前
Docker Volume -- 管理卷Volume详解
运维·docker·容器
沫璃染墨12 小时前
从零入门计算机网络系列(十八):TCP连接管理详解——从三次握手与四次挥手到TIME_WAIT机制
运维·服务器·网络·c++·网络协议·tcp/ip·tcp
Felven12 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
江湖有缘12 小时前
Docker实战 | 使用Docker部署lemonitor镜像站点列表程序
运维·docker·容器
莫晓燚13 小时前
mall 电商项目完整部署---实战
linux·运维·docker·容器
爱和冰阔落13 小时前
【Linux网络】JsonCpp 怎么实现序列化?从 Request/Response 到网络计算器消息设计
linux·运维·网络·php