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目录;
1、登陆 http://x.x.x.x:9209,设置管理员账号和密码。
2、单机版在新页面选择 Local 即可完成安装,集群选择Remote然后输入SWARM的IP地址,点击Connect完成安装。
4.浏览器访问 http://192.168.2.119:920 , 设置一个密码即可,点击创建用户
我们搭建的是单机版,直接选择Local ,点击连接
现在就可以使用了,点击Local进入仪表盘主页面。
容器页面
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
参数说明:
2.5 安装成功验证
- # 查看是否安装成功
- docker ps -a
2.6 进入运行MySQL的docker容器
- # 进入容器
- docker exec -it mysql /bin/bash
- # 访问mysql
- mysql -uroot -proot --default-character-set=utf8
2.7 访问登录验证
本机可以通过 root 和密码 root 访问 MySQL 服务。
mysql -h localhost -uroot -proot
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 将容器内的配置文件拷贝到指定目录,并且修改文件名称
- docker container cp nginx:/etc/nginx /mydata/nginx/
-
- # 修改文件名称
- mv nginx conf
3.5 终止并删除旧容器、再次安装运行新容器
- # 停止
- docker stop nginx
- # 删除
- docker rm nginx
- # 运行新容器
- 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访问验证
3.7 如果提前没有把配置文件映射出来,可用以下方法进行修改处理
docker exec -it nginx /bin/bash
进入etc/ngxin:cd /etc/nginx
离线环境下vim或者vi无法使用,可以采用拷贝出来,改完在拷贝回来的方式进行修改,注意:xxxx是容器ID。
- # 拷出命令
- docker cp xxxx:/etc/nginx/nginx.conf /home/edit
-
- # 拷入命令
- docker cp /home/edit/nginx.conf xxxx:/etc/nginx/
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
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连接数据库,步骤如下:
6.1 下载 Rocketmq 镜像
- # 下载RocketMQ
- docker pull rocketmqinc/rocketmq
-
- # 下载RocketMQ可视化界面控制台
- 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
6.5 进入Broker容器,修改配置
- # 进入容器修改配置文件
- docker exec -it 37b10e2d39ae bash
- cd ../conf
- 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:端口,可以访问可视化控制台页面。
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
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
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 进入容器并开启管理功能
- docker exec -it rabbitmq /bin/bash
- rabbitmq-plugins enable rabbitmq_management
9.4 访问地址查看是否安装成功
9.5 web 可视化管理
用户名/密码:guest/guest
创建新的账号,设置角色等
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,并重新启动
- docker exec -it elasticsearch /bin/bash
- #此命令需要在容器中运行
- elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
- docker restart elasticsearch
10.6 浏览器访问会返回版本信息
http://192.168.56.101:9200
11.1 下载镜像
docker pull logstash:7.6.2
11.2 修改Logstash的配置文件logstash.conf
中output
节点下的Elasticsearch连接地址为es:9200
- output {
- elasticsearch {
- hosts => "es:9200"
- index => "mall-%{type}-%{+YYYY.MM.dd}"
- }
- }
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
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 访问地址进行测试
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