docker安装消息队列(rabbitmq)及数据库(mongo、mysql)

目录

解决ipv6 访问问题

安装docker 华为镜像元

镜像安装地址

mongo 部署使用

持久化的安装mongo以及可视化

重启持久化数据库以及web访问

设置 非重复 索引

mysql 部署使用

部署命令

本地mysql数据库 web地址

数据库地址

杂记

rabbitmq


解决ipv6 访问问题

nohup socat TCP6-LISTEN:36001,reuseaddr,fork TCP4:127.0.0.1:36000 > /root/ip6to4.log  2>&1 &

安装docker 华为镜像元

镜像安装地址

https://mirrors.huaweicloud.com/
切换docker 镜像

mongo 部署使用

持久化的安装mongo以及可视化

mongdb 服务器 网络 mynet ip 172.30.10.10
web控制 网络 mynet ip 172.30.10.11

docker network create -d bridge --subnet 172.30.10.0/24 mynet

# 启用 ip6 绑定
docker network create -d bridge --ipv6 --subnet "2001:db8:10::/64" --gateway="2001:db8:10::1" --subnet=172.30.10.0/24 mynet

//可用的 本地 ip 段172.16.0.1~172.31.255.254 172.30.10.0/24

// 创建 mynet网络

## //创建保存数据的数据卷

docker volume create --name=mongodata

## //创建保存客户端连接信息的数据卷

docker volume create --name=mongoclientdata

//启动mongo服务
docker run -it    --net=mynet  --ip=172.30.10.10  --privileged=true    -v  mongodata:/data/db  -p 27017:27017 --name mongodb1 -d  --restart=always   mongo:4.2.2 

# 启用ip6
docker run -it    --net=mynet  --ip=172.30.10.10  --privileged=true    -v  mongodata:/data/db  -p 27017:27017 --name mongodb1 -d  --restart=always   mongo:4.2.2  --bind_ip_all

//查看mongo 版本
docker exec -it mongodb1 mongo --help
-->output
MongoDB shell version v4.4.3

//只需要在持久化数据时 创建一次即可
docker exec -it mongodb1  mongo admin

//创建 超级用户
db.createUser({
  user: "root",
  pwd:"830698db-aeff-4323-89e9-8c9d03f70ad9",
  roles: [
    { role: "userAdminAnyDatabase", db: "admin" }
]});

//启动  数据库可视化 服务
docker run -d  --net=mynet  --ip=172.30.10.11  -p 36000:3000   -e MONGO_URL="mongodb://172.30.10.10:27017"  -v   mongoclientdata:/data/db  --name=mongoclient1  --restart=always  mongoclient/mongoclient

//连接mongo的url
mongodb://root:[email protected]:27017

//查看所有的用户
db.system.users.find().pretty()

重启持久化数据库以及web访问

// 启动容器

docker start  mongodb1 mongoclient1

//设置自动重启

run --restart=always

// 对已经在运行的容器设置自动重启

docker update --restart=always   mongodb1 mongoclient1 

设置 非重复 索引

db.collection.createIndex({"tvid":1},{unique:true})

db.kiki.createIndex({tvid:1},{unique:true})

db.members.createIndex( { "tvid": 1 }, { unique: true } )

mysql 部署使用

服务信息
mysql服务器 port 33060
web控制 网络 port 38000

部署命令

// 创建持久化数据卷
docker volume create --name=mysqldata

-v  mysqldata:/var/lib/mysql

//docker run --name own_mysql -v  mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306  -d mysql:8.0.1
// 部署 mysql5.6
docker run --name own_mysql -v  mysqldata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d  --restart=always  mysql:5.6

// 运行 web 管理容器
docker run --name own_phpmyadmin -d --link own_mysql:db -p 38000:80   --restart=always  phpmyadmin/phpmyadmin

// 对已经在运行的容器设置自动重启
docker update --restart=always   own_mysql own_phpmyadmin 

本地mysql数据库 web地址

http://localhost:38000

数据库地址

http://localhost:3306

杂记

不持久化安装mongo
github https://github.com/mongodb/mongo

sudo docker run -it -p 27017:27017 --name mongodb1 -d mongo:4.2.2

docker exec -it mongodb1 mongo admin
use main

设置 非重复
db.collection.createIndex({"tvid":1},{unique:true})

db.kiki.createIndex({tvid:1},{unique:true})

db.members.createIndex( { "tvid": 1 }, { unique: true } )

初始化管理员用户并且指定账号密码
db.createUser({
  user: "root",
  pwd:"123456",  
  roles: [
    { role: "userAdminAnyDatabase", db: "admin" }
]});

exit 退出

登录
docker exec -it mongodb1  mongo admin
db.auth(“root”,“123456”) 使用root身份登录

创建一个用户 和数据库 exit 退出登录

docker exec -it 51a5b5e05fe4(换成mongo的容器id) mongo admin 启动
db.auth(“helele”,“123456”) employ用户登录
use employ 切换数据库



不持久安装mongodb client
可以使用的部署命令

请先部署了 本地mongodb到  localhost:270017

docker run -d --net="host" -e MONGO_URL="mongodb://localhost:27017" -p 36000:3000   --name=mongoclient1 mongoclient/mongoclient

/opt/meteor/dist/bundle/programs/server/dump 容器中导出数据的目录


访问地址
http://127.0.0.1:36000/

链接账户
mongodb://root:123456@localhost:27017

Docker
docker pull mongoclient/mongoclient
To install latest stable release:
docker pull mongoclient/mongoclient:4.0.0
Then you can run it as a daemon:
docker run -d -p 3000:3000 mongoclient/mongoclient
To set an external mongodb which is required for meteor to work, you can set MONGO_URL environment variable. Otherwise nosqlclient will install mongodb to container and use it.
To persist your connections and settings simply bind /data/db directory to your local machine as below.
docker run -d -p 3000:3000 -v :/data/db mongoclient/mongoclient

-e MONGO_URL="mongodb://127.0.0.1:27017"

docker run -d -p 3000:3000 -v /home/lmk/mongo/clientdata:/data/db  --name mongo1  mongoclient/mongoclient:4.0.0


docker run -d -p 3000:3000 --name mongoclient1 mongoclient/mongoclient

docker run -e MONGO_URL="mongodb://127.0.0.1:27017" mongoclient/mongoclient

docker run --net="host" -e MONGO_URL="mongodb://localhost:27017" -p 3000:3000  --name=mongoclient1 mongoclient/mongoclient

rabbitmq

https://hub.docker.com/_/rabb...

User name to create when RabbitMQ creates a new database from scratch.
Default:

default_user = guest

default_pass Password for the default user.
Default:

default_pass = guest

docker run -d --net host --hostname my-rabbit --name my-rabbit rabbitmq:3


# 带有 管理界面
# 5672  and  15672
docker run -d  --net host --hostname my-rabbit --name some-rabbit  rabbitmq:3-management

# 从 私有仓库 启动 rabbit
docker run -d  --net host --hostname my-rabbit --name some-rabbit  one-k.xyz/rabbitmq:3-management


欢迎大家一起交流呀
qq群:3638803451
vx:wxid_sgdelhiwombj12

你可能感兴趣的:(docker,docker,运维,linux)