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

一 图形化工具 Portainer

 1.1 简介

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

1.2 部署安装

1.2.1 查看portainer镜像

docker search portainer

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

docker pull portainer/portainer

1.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.3 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 安装成功验证

# 查看是否安装成功
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

2.8 修改MySQL配置文件

进入容器内部修改mysql配置文件,如果离线状态下可能无法使用vim或者vi命令,就需要把配置文件拷贝到宿主机上来改,改完在拷贝回容器中。

#从容器中拷贝到宿主机指定目录
docker container cp mysql:/etc/my.cnf /mydata/mysql

#从指定目录把配置文件拷贝到容器中
docker container cp mydata/mysql/my.cnf mysql:/etc/

比如(添加不区分大小写配置):

lower_case_table_names=1

三 安装 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

查看运行挂载点:docker inspect nginx |grep Source

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

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访问验证

http://192.168.56.101:8090/

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/

四 安装 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 镜像

# 下载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
  •  RocketMQ是Java编写的程序,Broker和NameServer都在上面的镜像中,只是启动命令不同而已。
  • --link 将NameServer容器起个别名,Broker中需要配置一个NAMESRV_ADDR参数指向NameServer地址。
  • 可以使用curl localhost:10911验证下服务器是否启动

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:端口,可以访问可视化控制台页面。

七 安装 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 进入容器并开启管理功能

docker exec -it rabbitmq /bin/bash
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,并重新启动

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

十一 安装 Logstash

11.1 下载镜像

docker pull logstash:7.6.2

11.2 修改Logstash的配置文件logstash.confoutput节点下的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

十二 安装 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 数据库

官方地址https://eco.dameng.com/document/dm/zh-cn/start/dm-install-docker.html

13.1 下载 Docker 安装包

官网地址下载docker安装包https://eco.dameng.com/download/

13.2 导入镜像

拷贝安装包到 /opt 目录下,执行以下命令导入安装包:

docker load -i dm8_20230808_rev197096_x86_rh6_64_single.tar

 结果显示如下:

14.3 安装运行容器

docker run -d -p 5236:5236 --restart=always --name dm8_test --privileged=true -e PAGE_SIZE=16 -e LD_LIBRARY_PATH=/opt/dmdbms/bin -e  EXTENT_SIZE=32 -e BLANK_PAD_MODE=1 -e LOG_SIZE=1024 -e CASE_SENSITIVE=0 -e UNICODE_FLAG=1 -e LENGTH_IN_CHAR=1 -e INSTANCE_NAME=dm8_test -v /data/dm8:/opt/dmdbms/data dm8_single:dm8_20230808_rev197096_x86_rh6_64

 CASE_SENSITIVE=0 //设置大小写敏感 否
UNICODE_FLAG=1 //设置字符集 UTF-8

COMPATIBLE_MODE=4 //设置查询返回字段在GROUP BY子句当中,也可以在控制台执行命令并重启数据库:SP_SET_PARA_VALUE(2,’COMPATIBLE_MODE’,4);
镜像中数据库默认用户名/密码为 SYSDBA/SYSDBA001

十四 安装 Clickhouse

14.1 下载镜像

docker pull clickhouse

14.2 安装运行容器

docker run -p 8123:8123 --restart=always --name clickhouse -v /mydata/clickhouse/log:/var/log/clickhouse-server -v /mydata/clickhouse/data:/var/lib/clickhouse -v /mydata/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml:ro -v /mydata/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml:ro -d clickhouse/clickhouse-server

14.3 连接访问

使用TABiX连接:http://localhost:8123/#!/login

使用命令

# 进入容器
docker exec -it clickhouse bash
# 连接
clickhouse-client --port 9010 -h localhost -u default --password 12345678

使用dbeaver连接

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
使用Docker部署web应用有许多好处。首先,Docker提供了持续集成的优势,通过使用Docker容器,开发人员可以快速构建、测试和部署应用程序,提高了开发效率。其次,Docker可以实现版本控制,使得应用程序的管理更加灵活和可靠。同时,Docker还具有很强的可移植性,即使在不同的环境部署应用程序,也可以保持一致的运行效果。此外,Docker容器之间具有隔离性,不同的容器互相独立,这样可以确保应用程序之间的安全性和稳定性。最后,Docker还提供了安全性方面的保障,可以限制容器的访问权限,防止潜在的安全风险。总之,通过使用Docker部署web应用,可以提高开发效率、简化管理、增强可移植性、加强隔离性和提供额外的安全保障。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Docker 入门 到部署Web 程序- (阿里面试常用docker命令和优点)](https://blog.csdn.net/diaopai5230/article/details/101216678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [docker入门(利用docker部署web应用)](https://blog.csdn.net/q610376681/article/details/90483576)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [undefined](undefined)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十点摆码

有用你就打赏一下

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值