Docker常用环境安装

Docker搭建环境

Docker安装MySQL

1.查看仓库可用版本

docker search mysql

2.拉取最新版本 MySQL镜像(当然也可以指定版本)

docker pull mysql:latest

3.运行容器

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mysql mysql

docker run -itd --name cuchulainn -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mysql mysql

docker run --启动容器

-itd 后台运行

-name mysql-test --指定容器名称为mysql-test

-e MYSQL_ROOT_PASSWORD=mysql–配置环境变量,指定root用户的密码为mysql

-p 3306:3306 -映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL

4.MySQL密码验证参数修改及设置

docker exec -it mysql-test /bin/bash 进入容器
mysql -u root -p密码
mysql> use mysql;
mysql> select user,plugin from user;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
mysql> FLUSH PRIVILEGES;
mysql> select user,plugin from user;

5.使用第三方软件链接数据库

Docker安装Redis

1 .从官网下载到本地

docker pull redis:latest

2.创建Redis容器

docker run --name redis -p 6379:6379 redis 创建名为redis的容器 ,第一个redis为容器的名字。

此外还可以添加:

–restart=always 总是自动启动

-p 6379:6379 端口映射 本机的端口:容器的端口

-v d:\redis\redis.conf:/etc/redis.conf redis配置文件映射。 本地路径:容器路径

-v d:\redis\data:/data redis数据文件映射。本地路径:容器路径

3.进入Redis客户端

docker exec -it redis bash 其中redis是自己设置的容器名
redis-cli

Docker安装RocketMQ

1、镜像拉取

docker pull rocketmqinc/rocketmq:latest

2、启动 namesrv

docker run -d -p 9876:9876 -v D:/Docker/rocketmq/namesrv/logs:/root/logs -v D:/Docker/rocketmq/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" 09bbc30a03b6 sh mqnamesrv

namesrv 作用

1,定位为注册中心,保存broker节点库路由信息

2,支持集群模式,每个 namesrv 之间不进行任何通信,多点容灾通过 producer/consumer 再访问 namesrv 时候轮询获取信息(当前节点访问失败就转向下一个)。

3,namesrv 作为注册中心,负责接收 broker 定期注册信息并维持再内存中,所有数据都保存在内存中,broker 定期的注册过程的也是遍历所有 namesrv 进行注册;

4,namesrv 提供对外接口对 producer 和 consumer 访问 broker 路由信息,底层用 netty 来实现。

5,namesrv 对 broker 存活检测采用心跳机制,即 namesrv 作为 broker 的 server 端定期接收 broker 的心跳信息,超时无心跳就移出 broker ,底层通过 epoll 的消息机制来检测连接是否稳定。

3、启动 broker命令

docker run -d -p 10911:10911 -p 10909:10909 -v D:/Docker/rocketmq/bocker/logs:/root/logs -v D:/Docker/rocketmq/bocker/store:/root/store -v D:/Docker/rocketmq/bocker/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" 09bbc30a03b6 sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf

启动bocker前需要修改下 bocker.conf 配置文件, 本人的bocker.conf 的安装路径为 D:/programCoding/Docker/rocketmq/conf

brokerClusterName = DefaultCluster // 消费模式,默认集群
brokerName = broker-a 
brokerId = 0
deleteWhen = 04// 清除未被消费消息时间,凌晨四点
fileReservedTime = 48 // 消息保留时间
brokerRole = ASYNC_MASTER // broker角色,默认为异步MASTER
flushDiskType = ASYNC_FLUSH // 刷盘策略,异步刷盘
brokerIP1 = 172.20.216.121//Linux下填Linux公网Ip,Windows利用 docker inspect 09bbc30a03b6,查看IPAddress

4、 拉取 Rocket-console 控制台

docker pull styletang/rocketmq-console-ng

5、docker 启动 Rocket-console

docker run -d -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=172.20.216.121:9876 -Drocketmq.config.isVIPChannel=false" -p  9999:8080 -t --name rmConsole 7df83bb6e638 

浏览器输入 localhost:9999,即可看到安装预览效果

Docker安装Neo4j

1.从镜像源中查找镜像

docker search neo4j

2.拉取镜像源

docker pull neo4j(:版本号)  //缺省 “:版本号” 时默认安装latest版本的

3.查看本地镜像,检验是否拉取成功

docker images

4.启动容器

docker run -d --name neo4j-test -p 27474:7474 -p 27687:7687 -v D:/Docker/neo4j/data:/data -v D:/Docker/neo4j/logs:/logs -v D:/Docker/neo4j/conf:/var/lib/neo4j/conf -v D:/Docker/neo4j/import:/var/lib/neo4j/import --env NEO4J_AUTH=neo4j/password neo4j

-d --name container_name //-d表示容器后台运行 --name指定容器名字

-p 27474:7474 -p 27687:7687 //映射容器的端口号到宿主机的端口号;27474 为宿主机端口

-v /home/neo4j/data:/data //把容器内的数据目录挂载到宿主机的对应目录下

-v /home/neo4j/logs:/logs //挂载日志目录

-v /home/neo4j/conf:/var/lib/neo4j/conf //挂载配置目录

-v /home/neo4j/import:/var/lib/neo4j/import //挂载数据导入目录

–env NEO4J_AUTH=neo4j/password //设定数据库的名字的访问密码

neo4j //指定使用的镜像

5.修改配置文件

// 进入容器配置目录挂载在宿主机的对应目录,我这里是/home/neo4j/conf

cd /home/neo4j/conf

// vim编辑器打开neo4j.conf

vim neo4j.conf

// 进行以下更改
//在文件配置末尾添加这一行

dbms.connectors.default_listen_address=0.0.0.0  //指定连接器的默认监听ip为0.0.0.0,即允许任何ip连接到数据库

//修改
dbms.connector.bolt.listen_address=0.0.0.0:7687  //取消注释并把对bolt请求的监听“地址:端口”改为“0.0.0.0:7687”
dbms.connector.http.listen_address=0.0.0.0:7474  //取消注释并把对http请求的监听“地址:端口”改为“0.0.0.0:7474”

6.重启neo4j容器

Docker安装mongodb

1.docker下载运行mongodb镜像

直接在 windows powerShell中输入以下命令

docker run -p 27017:27017 -v D:/Docker/data/mongo:/data/db --name mongodb -d mongo

-p 映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过宿主机 ip:27017 访问到 mongo 的服务

-v 为设置容器的挂载目录,这里是将本机的“/data/mongo”目录挂载到容器中的/data/db中,作为mongodb 的存储目录

–name 为设置该容器的名称

-d 设置容器以守护进程方式运行

此时的mongodb还是在裸奔状态,没有账号密码;使用mongodb桌面客户端可以直接连接:

2.创建mongodb用户

在客户端中连接mongodb,新建查询,并写入以下命令

use admin;
db.createUser({
   user: 'admin',
   pwd: 'Aa123456',
   roles: [{
       role: "userAdminAnyDatabase",
       db: "admin"
   }]
});

3.指定auth重新运行服务

创建完用户我们就要重新启动mongo服务,并且指定auth

删除已经运行的mongo容器:docker rm -f mongodb

指定验证启动mongo容器:docker run -p 27017:27017 -v /data/mongo:/data/db --name mongodb -d mongo --auth

也就是在之前的启动命令后面加上 --auth:需要密码才能访问容器服务

此时连接需要账户密码登录:

4.创建一个业务数据库和对应的读写账户

use test_db;
db.createUser({
user: 'test_db',
pwd: '123456',
roles: [{
role: "readWrite",
db: "test_db"
}]
});
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值