Docker安装基础服务,tomcat,mysql等

系列文章目录

第一章:docker运行基础服务的搭建---个人记录


目录

一、mysql

二、tomcat

三、rabbitmq

四、elasticsearch

五、linkease/ddnsto(免费内网穿墙应用)

总结


拉取镜像名称版本可前往Docker Hub查询

一、mysql

以下是使用docker创建一个简单的mysql容器。

需要保证本地有D:\dockerLinkSpace\mysql8.0\data文件夹,可根据自己需要修改

  • -p 3306:3306    本地端口:容器端口
  • --privileged=true    container内的root拥有真正的root权限,可以更多host上的设备,并且可以执行mount
  • --restart=always   当 Docker 重启时,容器未能自动启动,加上该参数可自行重启
  • -v=D:\dockerLinkSpace\mysql8.0\data:/var/lib/mysql    挂载目录,本地路径:容器内路径,内容是存储在本地的
  • -d mysql:8   镜像名称:版本
  • --name mysql8   容器名称
  • -e MYSQL_ROOT_PASSWORD="root123"   传递环境变量
#拉取镜像
docker pull mysql:8

#生成容器
docker run -d -p 3306:3306 --name mysql8 --privileged=true --restart=always -e MYSQL_ROOT_PASSWORD="root123" -v=D:\dockerLinkSpace\mysql8.0\data:/var/lib/mysql -d mysql:8

注意:本段命令没有对mysql的my.cnf 文件进行挂载,如需挂载my.cnf ,可以自己去官网下载一个,也可以先安装,然后找到容器的目录(/etc/mysql),将文件夹下的所有内容copy下来,再删除容器,然后使用-v参数进行挂载目录(/etc/mysql)。具体操作参考tomcat的操作

#查看容器状态
docker ps

#进入容器命令
docker exec -it 容器名称 /bin/bash 

二、tomcat

#拉取镜像
docker pull tomcat:8.5.73-jdk8-temurin-focal

#因需要挂载目录,则要把该版本的bin、conf、webapp等目录先复制出来,具体哪些目录根据自己需要
#本地新建文件夹 D:\dockerLinkSpace\tomcat8
#先创建一个容器
docker run -d -it -p 8099:8080 --name tomcat8 --privileged=true -d tomcat:8.5.73-jdk8-temurin-focal

#查看容器状态
docker ps 

CONTAINER ID   IMAGE                              COMMAND                  CREATED          STATUS          PORTS                               NAMES
14103b4018f6   tomcat:8.5.73-jdk8-temurin-focal   "catalina.sh run"        11 minutes ago   Up 11 minutes   0.0.0.0:8099->8080/tcp              tomcat8

#复制bin目录出来
docker cp 14103b4018f6:/usr/local/tomcat/bin D:\dockerLinkSpace\tomcat8\bin

#复制log目录出来
docker cp 14103b4018f6:/usr/local/tomcat/logs D:\dockerLinkSpace\tomcat8\logs

#复制webapps目录出来
docker cp 14103b4018f6:/usr/local/tomcat/webapps D:\dockerLinkSpace\tomcat8\webapps

#复制conf目录出来
docker cp 14103b4018f6:/usr/local/tomcat/conf D:\dockerLinkSpace\tomcat8\conf

#停止容器
docker stop 14103b4018f6

#删除容器
docker rm -v 14103b4018f6

#生成容器
docker run -d -it -p 8099:8080 --name tomcat8 --privileged=true -v=D:\dockerLinkSpace\tomcat8\bin:/usr/local/tomcat/bin -v=D:\dockerLinkSpace\tomcat8\conf:/usr/local/tomcat/conf -v=D:\dockerLinkSpace\tomcat8\logs:/usr/local/tomcat/logs -v=D:\dockerLinkSpace\tomcat8\webapps:/usr/local/tomcat/webapps -d tomcat:8.5.73-jdk8-temurin-focal

#如果需要立即看到效果,可将webapps.dist移入webapps中
#进入容器
docker exec -it tomcat8 /bin/bash

#复制tomcat默认的文件夹
cp -Rf webapps.dist/* webapps

做完最后一步就可以访问 http://localhost:8099/ 打开tomcat默认界面了,另外可以通过修改本地目录的D:\dockerLinkSpace\tomcat8\下的tomcat配置,然后使用docker restart tomcat8来对服务进行重启。

三、rabbitmq

参数:

  •  -d 后台运行
  • -p 端口 5672,15672
  • -v 需要创建文件夹:D:\dockerLinkSpace\rabbitMQ3.9.11\data
  • --hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名)
  • -e 设置环境变量:
    • RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin【账号密码】,
    • RABBITMQ_DEFAULT_VHOST=my_vhost【默认虚拟机名】
  • 线上部署建议加这两个参数 --privileged=true --restart=always(随docker启动)
#拉取镜像,management 有web界面
docker pull rabbitmq:3.9.11-management

docker run -d --name rabbitmq3.9.11 -p 5672:5672 -p 15672:15672 -v=D:\dockerLinkSpace\rabbitMQ3.9.11\data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -d rabbitmq:3.9.11-management

运行完成之后即可在浏览器访问http://localhost:15672

四、elasticsearch

准备工作:

  1. 创建文件夹:D:\dockerLinkSpace\elasticsearch\config
  2. 创建文件夹:D:\dockerLinkSpace\elasticsearch\data
  3. 创建文件夹:D:\dockerLinkSpace\elasticsearch\plugins
  4. 创建文件夹:D:\dockerLinkSpace\elasticsearch\logs
  5. 创建文件:D:\dockerLinkSpace\elasticsearch\config\elasticsearch.yml

elasticsearch.yml文件内容为:http.host: 0.0.0.0

#基础配置
http.host: 0.0.0.0

#开启本地用户,开启x-pack插件
#xpack.security.enabled: true
#xpack的版本
#xpack.license.self_generated.type: basic

#上面开启用户需要进入容器内部配置账号密码
#配置请参考http://t.zoukankan.com/chenmu-p-12680739.html的配置

  • -p 端口映射
  • -e discovery.type=single-node 单点模式启动
  • -e ES_JAVA_OPTS="-Xms84m -Xmx512m":设置启动占用的内存范围
  • -v 目录挂载
  • -d 后台运行
  • -it 以交互模式运行容器 |  为容器重新分配一个伪输入终端
  • 线上部署建议加这两个参数 --privileged=true --restart=always(随docker启动)
#拉取镜像,management 有web界面
docker pull elasticsearch:7.12.0

#sudo docker run --name elasticsearch -p 9200:9200  -p 9300:9300 \
# -e "discovery.type=single-node" \
# -e ES_JAVA_OPTS="-Xms84m -Xmx512m" \
# -v D:\dockerLinkSpace\elasticsearch\config\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
# -v D:\dockerLinkSpace\elasticsearch\data:/usr/share/elasticsearch/data \
# -v D:\dockerLinkSpace\elasticsearch\plugins:/usr/share/elasticsearch/plugins \
# -v D:\dockerLinkSpace\elasticsearch\logs:/usr/share/elasticsearch/logs \
# elasticsearch:7.12.0

docker run -d -it --name elasticsearch -p 9200:9200  -p 9300:9300 -e "discovery.type=single-node"  -e ES_JAVA_OPTS="-Xms256m -Xmx512m"  -v D:\dockerLinkSpace\elasticsearch\config\elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v D:\dockerLinkSpace\elasticsearch\data:/usr/share/elasticsearch/data -v D:\dockerLinkSpace\elasticsearch\plugins:/usr/share/elasticsearch/plugins  -v D:\dockerLinkSpace\elasticsearch\logs:/usr/share/elasticsearch/logs elasticsearch:7.12.0

查看启动详情

docker ps  查看是否启动
docker logs elasticsearch  启动日志查询
docker restart elasticsearch   重启
docker exec -it elasticsearch bash 进入

#安装分词进入容器plugins文件夹,执行安装
$:cd plugins
$:elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7
.12.0.zip

运行完成之后即可在浏览器访问http://localhost:9200

 如果有异常可以下面这个链接

参考:docker安装ES_胡八一 的博客-CSDN博客_docker 安装es

五、linkease/ddnsto(免费内网穿墙应用)

        1.该应用作为内网穿透应用,可以将本地应用代理到外网

        2.当前写的是每7天一次申请免费通道,无线申请,后续未知

进入linkease/ddnsto安装教程,点击控制台,微信扫码注册登录,进入ddnsto控制台,获取token,该应用不完全免费,但是好像可以一直获得7天免费体验。

#拉取镜像
docker pull linkease/ddnsto
#运行, TOKEN的值改为自己的token,-v的地址改为自己的本地地址
docker run -d --name=ddnsto -e TOKEN=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx -e DEVICE_IDX=99  -v=D:\dockerLinkSpace\ddnsto:/etc/localtime:ro  linkease/ddnsto

运行之后进入控制台,配置域名映射,添加一个映射

等待一分钟就可以使用域名映射的地址进行访问了


总结

希望一直增加,以后方便使用

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker 是一个开源的应用容器引擎,能够将应用程序及其依赖项打包在一个容器内,然后将该容器部署在任何支持 Docker 的计算机上。Docker 容器提供了比虚拟机更高效的资源利用和更快速的应用程序启动时间。 安装 MySQL 步骤如下: 1. 创建一个用于存储 MySQL 数据的文件夹: ```bash $ mkdir -p /opt/mysql/data ``` 2. 运行 MySQL 容器: ```bash $ docker run -d --name mysql \ -v /opt/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ mysql:5.7 ``` 注释: - `-d`:表示容器在后台运行; - `--name mysql`:为容器指定名字; - `-v /opt/mysql/data:/var/lib/mysql`:将 MySQL 数据文件夹挂载到容器的 `/var/lib/mysql` 目录; - `-e MYSQL_ROOT_PASSWORD=123456`:设置 MySQL 的 root 用户密码为 123456; - `mysql:5.7`:使用 MySQL 5.7 镜像。 3.浏览MySQL ```bash $ docker exec -it mysql bash root@3a04beda2e61:/# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.36-0ubuntu0.18.04.1 (Ubuntu) mysql> ``` 安装 Tomcat 步骤如下: 1. 创建一个用于存储 Tomcat 数据的文件夹: ```bash $ mkdir -p /opt/tomcat/webapps ``` 2. 下载 Tomcat 官方镜像: ```bash $ docker pull tomcat:8.5 ``` 3. 运行 Tomcat 容器: ```bash $ docker run -d --name tomcat \ -v /opt/tomcat/webapps:/usr/local/tomcat/webapps \ -p 8080:8080 \ tomcat:8.5 ``` 注释: - `-d`:表示容器在后台运行; - `--name tomcat`:为容器指定名字; - `-v /opt/tomcat/webapps:/usr/local/tomcat/webapps`:将 Tomcat 的 `webapps` 文件夹挂载到容器的 `/usr/local/tomcat/webapps` 目录; - `-p 8080:8080`:将容器的 8080 端口映射到主机的 8080 端口; - `tomcat:8.5`:使用 Tomcat 8.5 镜像。 4. 进入容器内部 ```bash $ docker exec -it tomcat bash ``` 使用以上步骤,成功安装MySQLTomcat。通过使用以此,许多开发人员可以方便地进行开发,而不用担心 MySQLTomcat 的配置。容器可以很方便地打包和部署,从而提高了应用程序的适用性,并为开发人员提供了更多的自动化和可重用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值