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博客

相关推荐
fengkai45454 小时前
十一、MySQL 第 1‑3 章
运维·数据库·mysql
筑梦之路4 小时前
K8S yaml文件部署kafka集群(Kraft模式)——筑梦之路
容器·kafka·kubernetes
Vcaker4 小时前
Linux学习36-k8s集群升级及kube-vip高可用
linux·运维·学习
wdfk_prog4 小时前
Wi-Fi Direct教程 02:从 wpa_cli main() 到 P2P_FIND——用源码注释追踪 CLI 控制命令发送
运维·服务器·网络·网络协议·ubuntu·p2p·wifi-direct
HRTOS5 小时前
HRTOS Shell继续完善:优化printf缓冲区与字符串越界保护,国庆后随新版本更新
运维·单片机·嵌入式硬件·算法·51单片机
站在墙头上5 小时前
ubantu安装docker
docker·容器
智能RPA5 小时前
农业与矿业行业智能体自动化平台对比评测(计量与巡检场景)
运维·人工智能·python·自动化·agent·rpa
沫璃染墨5 小时前
《从零入门Linux系统篇(五十一):线程篇·四——pthread线程库详解:从线程创建到终止与分离》
linux·运维·服务器·开发语言·c++·系统架构·线程
墨家前任巨子5 小时前
定时关机脚本
运维
ESDWAN5 小时前
企业组网后网络频繁掉线,常见故障排查指南
运维·网络·架构