• Docker 部署常用应用(持续更新中)


    一 图形化工具 Portainer

     一 简介

    Docker 图形页面管理工具常用的有三种,DockerUI ,Portainer ,Shipyard 。DockerUI 是 Portainer 的前身,这三个工具通过docker api来获取管理的资源信息。平时我们常常对着shell对着这些命令行客户端,审美会很疲劳,一些多命令不是很熟悉的同学使用也困难。如果有漂亮的图形化界面可以直观查看Docker资源信息,也是非常方便的。今天我们就搭建单机版的图形化管理工具Portainer。

    二 部署安装

    2.1 查看portainer镜像

    docker search portainer

    2.2 选择喜欢的portainer风格镜像,下载

    docker pull portainer/portainer

    2.3 启动dockerui容器

    docker run -d -p 9209:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/data3/mydocker/portainer_data:/data portainer/portainer

    参数说明:

    -v /var/run/docker.sock:/var/run/docker.sock :把宿主机的Docker守护进程(Docker daemon)默认监听的Unix域套接字挂载到容器中;

    -v /opt/data3/mydocker/portainer_data:/data :把宿主机portainer_data数据卷挂载到容器/data目录;

    三 WEB 管理

    1、登陆 http://x.x.x.x:9209,设置管理员账号和密码。

    2、单机版在新页面选择 Local 即可完成安装,集群选择Remote然后输入SWARM的IP地址,点击Connect完成安装。

    4.浏览器访问 http://192.168.2.119:920 , 设置一个密码即可,点击创建用户

    我们搭建的是单机版,直接选择Local ,点击连接

     现在就可以使用了,点击Local进入仪表盘主页面。

     容器页面

    二 安装 MySql

    2.1 查看可用的 MySQL 版本

    docker search mysql

    也可以通过官网查看:docker官网地址

    2.2 下载mysql镜像

    docker pull mysql:5.7

    2.3 查看镜像

    docker images

    2.4 安装运行容器

    docker run -p 3306:3306 --restart=always --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

    参数说明:

    • -p 3306:3306:将容器的3306端口映射到主机的3306端口
    • -v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
    • -v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
    • -v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
    • -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码

    2.5 安装成功验证

    1. # 查看是否安装成功
    2. docker ps -a

    2.6 进入运行MySQL的docker容器

    1. # 进入容器
    2. docker exec -it mysql /bin/bash
    3. # 访问mysql
    4. mysql -uroot -proot --default-character-set=utf8

    2.7 访问登录验证

    本机可以通过 root 和密码 root 访问 MySQL 服务。

    mysql -h localhost -uroot -proot

    三 安装 Nginx

    3.1 下载nginx镜像

    docker pull nginx

    3.2 查看镜像

     3.3 安装运行容器

    docker run -p 8090:80 --name nginx -v /mydata/nginx/html:/usr/share/nginx/html  -v /mydata/nginx/logs:/var/log/nginx  -d nginx:1.10

    注意:先运行一次,为了拷贝配置文件

    3.4 将容器内的配置文件拷贝到指定目录,并且修改文件名称

    1. docker container cp nginx:/etc/nginx /mydata/nginx/
    2. # 修改文件名称
    3. mv nginx conf

    3.5 终止并删除旧容器、再次安装运行新容器

    1. # 停止
    2. docker stop nginx
    3. # 删除
    4. docker rm nginx
    5. # 运行新容器
    6. docker run -p 8090:80 --restart=always --name nginx -v /mydata/nginx/html:/usr/share/nginx/html -v /mydata/nginx/logs:/var/log/nginx -v /mydata/nginx/conf:/etc/nginx -d nginx:1.10

    3.6 nginx访问验证

    http://192.168.56.101:8090/

    3.7 如果提前没有把配置文件映射出来,可用以下方法进行修改处理

    docker exec -it nginx /bin/bash

    进入etc/ngxin:cd /etc/nginx

    离线环境下vim或者vi无法使用,可以采用拷贝出来,改完在拷贝回来的方式进行修改,注意:xxxx是容器ID。

    1. # 拷出命令
    2. docker cp xxxx:/etc/nginx/nginx.conf /home/edit
    3. # 拷入命令
    4. docker cp  /home/edit/nginx.conf  xxxx:/etc/nginx/

    四 安装 Jenkins

    4.1 下载jenkins镜像

    docker pull jenkins:2.60.3

    4.2 查看镜像

     4.3 安装运行容器

    docker run -i -t -d --restart=always --name jenkins -p 9205:8080 jenkins

    4.4 访问

    http://10.200.63.6:9205/login?from=%2F

    五 安装 PostgreSQL

    5.1 下载 PostgreSQL 镜像

    docker pull postgres

    5.2 查看镜像

    5.3 安装运行容器

    docker run -it --name postgres --restart always -e POSTGRES_PASSWORD='admin123' -e ALLOW_IP_RANGE=0.0.0.0/0 -p 54321:5432 -d postgres
    --name,指定创建的容器的名字;
    -e POSTGRES_PASSWORD=password,设置环境变量,指定数据库的登录口令为password;
    -e ALLOW_IP_RANGE=0.0.0.0/0,这个表示允许所有ip访问,如果不加,则非本机ip访问不了
    -p 54321:5432,端口映射将容器的5432端口映射到外部机器的54321端口;
    -d postgres,指定使用postgres作为镜像。
    

    5.4 连接访问

    使用Navicat连接数据库,步骤如下:

    六 安装 Rocketmq

    6.1 下载 Rocketmq 镜像

    1. # 下载RocketMQ
    2. docker pull rocketmqinc/rocketmq
    3. # 下载RocketMQ可视化界面控制台
    4. docker pull styletang/rocketmq-console-ng

    6.2 查看镜像

     6.3 部署NameServer

    docker run --name rmqnamesrv -d -p 9876:9876 rocketmqinc/rocketmq sh mqnamesrv

    可以curl localhost:9876 端口测试服务是否启动成功。

    6.4 部署Broker

    docker run --name rmqbroker -d -p 10911:10911 -p 10909:10909  --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" rocketmqinc/rocketmq sh mqbroker -c ../conf/broker.conf
    •  RocketMQ是Java编写的程序,Broker和NameServer都在上面的镜像中,只是启动命令不同而已。
    • --link 将NameServer容器起个别名,Broker中需要配置一个NAMESRV_ADDR参数指向NameServer地址。
    • 可以使用curl localhost:10911验证下服务器是否启动

    6.5 进入Broker容器,修改配置

    1. # 进入容器修改配置文件
    2. docker exec -it 37b10e2d39ae bash
    3. cd ../conf
    4. vi broker.conf

     

     6.6 部署RocketMQ可视化界面控制台

    docker run --name rmqconsole -d -p 9206:8080 --link rmqnamesrv:namesrv -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876"  styletang/rocketmq-console-ng

    以使用curl命令测试控制台界面是否成功启动。curl localhost:9206。

    浏览器输入IP:端口,可以访问可视化控制台页面。

    七 安装 Redis

    7.1 下载镜像

    docker pull redis:5

    7.2 安装运行容器

    docker run -p 6379:6379 --restart=always --name redis  -v /mydata/redis/data:/data  -d redis:5 redis-server

    八 安装 MongoDB

    8.1 下载镜像

    docker pull mongo:4.2.5

    8.2 安装运行容器

    docker run -p 27017:27017 --restart=always --name mongo -v /mydata/mongo/db:/data/db -d mongo:4.2.5

    九 安装 Rabbitmq

    9.1 下载镜像

    docker pull rabbitmq:3.7.15

    9.2 安装运行容器

    docker run -p 5672:5672 -p 15672:15672 --restart=always --name rabbitmq -d rabbitmq:3.7.15

    9.3 进入容器并开启管理功能

    1. docker exec -it rabbitmq /bin/bash
    2. rabbitmq-plugins enable rabbitmq_management

    9.4 访问地址查看是否安装成功

    http://192.168.56.101:15672

    9.5 web 可视化管理

    用户名/密码:guest/guest

    创建新的账号,设置角色等

    十 安装 Elasticsearch

    10.1 下载镜像

    docker pull elasticsearch:7.6.2

    10.2 修改虚拟内存区域大小,否则会因为过小而无法启动

    sysctl -w vm.max_map_count=262144
    

    10.3 启动时会发现/usr/share/elasticsearch/data目录没有访问权限,只需要修改/mydata/elasticsearch/data目录的权限

    chmod 777 /mydata/elasticsearch/data/
    

    10.4 安装运行容器

    docker run -p 9200:9200 -p 9300:9300 --restart=always --name elasticsearch -e "discovery.type=single-node"  -e "cluster.name=elasticsearch"  -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data  -d elasticsearch:7.6.2
    

    10.5 安装中文分词器IKAnalyzer,并重新启动

    1. docker exec -it elasticsearch /bin/bash
    2. #此命令需要在容器中运行
    3. elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
    4. docker restart elasticsearch

    10.6 浏览器访问会返回版本信息

    http://192.168.56.101:9200
    

    十一 安装 Logstash

    11.1 下载镜像

    docker pull logstash:7.6.2
    

    11.2 修改Logstash的配置文件logstash.confoutput节点下的Elasticsearch连接地址为es:9200

    1. output {
    2. elasticsearch {
    3. hosts => "es:9200"
    4. index => "mall-%{type}-%{+YYYY.MM.dd}"
    5. }
    6. }

    11.3 创建/mydata/logstash目录,并将Logstash的配置文件logstash.conf拷贝到该目录

    mkdir /mydata/logstash
    

    11.4 安装运行容器

    docker run --restart=always --name logstash -p 4560:4560 -p 4561:4561 -p 4562:4562 -p 4563:4563 --link elasticsearch:es -v /mydata/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf  -d logstash:7.6.2

    11.5 进入容器内部,安装json_lines插件

    logstash-plugin install logstash-codec-json_lines
    

    十二 安装 Kibana

    12.1 下载镜像

    docker pull kibana:7.6.2
    

    12.2 安装运行容器

    docker run --restart=always --name kibana -p 5601:5601 --link elasticsearch:es -e "elasticsearch.hosts=http://es:9200" -d kibana:7.6.2

    12.3 访问地址进行测试

    http://192.168.56.101:5601

    十三 安装 达梦8 数据库

    13.1 下载 DM8 安装包

    wget -O dm8_docker.tar -c https://download.dameng.com/eco/dm8/dm8_docker.tar

    13.2 导入镜像

    docker import dm8_docker.tar dm8:v01

    14.3 安装运行容器

    docker run -p 5236:5236 --restart=always --name dm8 dm8:v01 /bin/bash /startDm.sh

  • 相关阅读:
    SeamlessM4T—Massively Multilingual & Multimodal Machine Translation
    吊打面试官系列之:常见测试开发面试题汇总,在面试的路上,总要先下手为强。
    C++ 位拷贝
    Spring的总结
    MES管理系统的应用和好处有哪些
    基于蜜蜂算法求解电力系统经济调度(Matlab代码实现)
    美创这款产品入选《2022年度浙江省首版次软件产品应用推广指导目录入围名单》
    Unity丨移动相机朝向目标并确定目标在摄像机可视范围内丨摄像机注释模型丨摄像机移动丨不同尺寸模型优化丨
    vmware centos7虚拟机出现 Generating /run/initramfs/rdsosreport.txt 问题?
    请描述一下Spring MVC的工作流程。在Spring MVC中,DispatcherServlet的作用是什么?
  • 原文地址:https://blog.csdn.net/lovelichao12/article/details/125458717