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

相关推荐
yzx99101316 分钟前
服务器生成图片
运维·服务器
小阳睡不醒4 小时前
小白成长之路-部署Zabbix7(二)
android·运维
杰克逊的日记4 小时前
GPU运维常见问题处理
linux·运维·gpu
caolib5 小时前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
奇舞精选5 小时前
k8s基本概念初探
运维
誰能久伴不乏5 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔6 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
-SGlow-6 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql
代码改变世界ctw7 小时前
Linux内核设计与实现 - 第14章 块I/O层
linux·运维·服务器
Dreams_l7 小时前
网络编程2(应用层协议,传输层协议)
运维·服务器·网络