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

相关推荐
NendoZen10 分钟前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
Elastic 中国社区官方博客1 小时前
Elasticsearch:安装自行管理的 Elastic Stack 集群
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·全文检索
忆挽篱笙歌1 小时前
进程控制管理
linux·运维·服务器
fengkai45453 小时前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
戴西软件3 小时前
制造研发中的AI视觉与仿真:戴西工程图纸智能审图智能体、戴西3DViz_CAE AI集成与戴西3DViz_CAD AI集成
大数据·运维·人工智能·3d·自动化·制造·rpa
javaDocker4 小时前
1800 亿科技投入砸下去,多数机构平的只是服务器,不是能力
运维·服务器·人工智能·科技·研发效能·金融科技
骇客野人4 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维
容器魔方4 小时前
Volcano v1.16 发布:新增 NamespaceQueue 与 fairshare,拓展 HyperNode 生态
人工智能·云原生·容器·华为云·云计算
eleven_4u5 小时前
RocketMQ相关问题
java·运维·中间件
0+1115 小时前
Linux --DNS与ICMP
linux·运维·服务器