使用docker安装一些应用

本文详细介绍如何使用Docker部署包括RabbitMQ、Redis、Tomcat、MySQL等在内的多种常见服务,涵盖镜像拉取、运行配置及网络映射等关键步骤。

-v 将主机当前目录噶在到容器,如果主目录为空,会把容器中的文件也覆盖为空。 拷贝容器中的内容到宿主机:docker cp 容器id:被拷贝文件路径 拷贝到的路径

RabbitMQ

拉镜像,带web的

docker pull rabbitmq:management

运行

docker run -dit --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:management

运行时改账号密码

docker run -dit --name Myrabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management

登录

http://localhost:15672

Redis

拉取

docker pull redis

运行

docker run -p 6379:6379 -v $PWD/data:/data -d redis redis-server --appendonly yes
命令说明:
-p 6379:6379 : 将容器的6379端口映射到主机的6379端口
-v $PWD/data:/data : 将主机中当前目录下的data挂载到容器的/data
redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置

Tomcat

拉取

docker pull tomcat

运行

docker run -d -p 8080:8080 -v /root/tomcat/:/usr/local/tomcat/webapps/ tomcat
参数说明:
-d 后台运行
-p 指定访问主机的8080端口映射到8080端口。
-v 指定我们容器的/usr/local/tomcat/webapps/目录为/root/tomcat/主机目录(挂载)

MySQL

拉取

docker pull mysql:5.7.19

运行

docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.19
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口。
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-d :后台运行

zipkin 分布式实时数据追踪系统

数据在内存中,不能持久化

docker run -d -p 9411:9411 openzipkin/zipkin

数据持久化
创建mysql

docker run -d \
--restart always \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_USER=root \
-e MYSQL_PASS=password \
-e MYSQL_HOST=192.168.0.8 \
-e STORAGE_TYPE=mysql \
-e MYSQL_DB=zipkin \
-e MYSQL_TCP_PORT=3306 \
--net host \
--name zipkin \
openzipkin/zipkin

nacos

官方文档

git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker

单机模式 Derby
docker-compose -f example/standalone-derby.yaml up

单机模式 Mysql(帮你安装mysql,密码是root)
docker-compose -f example/standalone-mysql.yaml up
后台运行
docker-compose -f example/standalone-mysql.yaml up -d

数据未持久化,需要再nacos/conf/application.properties中添加
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.206.128:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456


集群模式
docker-compose -f example/cluster-hostname.yaml up 

服务注册
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080'

服务发现
curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instances?serviceName=nacos.naming.serviceName'

发布配置
curl -X POST "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"

获取配置
curl -X GET "http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
  
Nacos 控制台
http://127.0.0.1:8848/nacos/
账号密码都是nacos

Nginx

docker pull nginx

docker run -d -p 80:80 --name nginx nginx

日志文件位置:/var/log/nginx
配置文件位置: /etc/nginx
资源存放的位置: /usr/share/nginx/html

sentinel-dashboard 服务熔断与降级

docker pull bladex/sentinel-dashboard:tagname

docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard:tagname

Seata Server 分布式事务处理

docker run --name seata-server
-p 8091:8091
-e SEATA_CONFIG_NAME=file:/root/seata-config/registry
-v /User/seata/config:/root/seata-config
seataio/seata-server

GitLab

docker pull gitlab/gitlab-ce

docker run --detach --publish 10443:443 --publish 1080:80 --publish 1022:22 --name gitlab --restart always --volume /f/gitlab/config:/etc/gitlab --volume /f/gitlab/logs:/var/log/gitlab --volume /f/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce:latest

http://localhost:1080
账号root,密码重置为root123456

gitlab下载项目时,地址修改为本机地址

vi /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml
## GitLab settings
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: localhost         >> 这里改为主机的IP即可
    port: 80
    https: false

    # Uncommment this line below if your ssh host is different from HTTP/HTTPS one
    # (you'd obviously need to replace ssh.host_example.com with your own host).
    # Otherwise, ssh host will be set to the `host:` value above

PostgreSQL

docker run -d --name postgres -p 5432:5432 \
-v /f/postgres/postgresql:/var/lib/postgresql \
-v /f/postgres/data:/var/lib/postgresql/data \
-e POSTGRES_USER=sonar \
-e POSTGRES_PASSWORD=sonar \
-e POSTGRES_DB=sonar \
-e TZ=Asia/Shanghai \
--restart always \
--privileged=true \
postgres:11

SonarQube

docker run -d --name sonarqube -p 9000:9000 \
--link postgres \
-v /f/sonarqube/extensions:/opt/sonarqube/extensions \
-v /f/sonarqube/logs:/opt/sonarqube/logs \
-v /f/sonarqube/data:/opt/sonarqube/data \
-e SONARQUBE_JDBC_URL=jdbc:postgresql://localhost:5432/sonar \
-e SONARQUBE_JDBC_USERNAME=sonar \
-e SONARQUBE_JDBC_PASSWORD=sonar \
--restart always \
--privileged=true \
sonarqube
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值