一:安装docker社区版。
Centos系列(最好用7以上的版本,docker需要3.1以上的linux内核版本)
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo docker run hello-world
如果你敲docker info需要root密码,敲下面的。
sudo usermod -aG docker (你的用户)
二:搭Mysql
docker pull mysql
默认会下最新版。需要其他版本,请加后缀tag比如, mysql:5.7,就会抽取5.7的。
docker run -p 3306:3306 --name sql_docker -e MYSQL_ROOT_PASSWORD=123 -d mysql
说明
-p 3306:3306 将容器内3306端口映射到宿主机
--name 运行的容器名
-e environment(环境),指定容器启动时候的环境变量。可以指定其他环境变量如下。
MYSQL_ROOT_PASSWORD:root 密码 。
MYSQL_DATABASE:[可选的] 容器启动后自动创建的数据库。
MYSQL_USER, MYSQL_PASSWORD: [可选的] 创建对应MYSQLDATABASE数据库的用户名和密码,并默认拥有MYSQL_DATABSE所有权限
MYSQL_ALLOW_EMPTY_PASSWORD:[可选] 是否允许密码为空。
MYSQL_RANDOM_ROOT_PASSWORD:[可选] 随机生成root密码,并会通过标准输出输出到控制台。
MYSQL_ONETIME_PASSWORD:[可选] 我感觉没啥用,就是说你第一次登陆mysql后必须修改你的root密码。
-d 后台运行
最后指定镜像名称
关于更多的定制[选看]
使用本地mysql.cnf映射到容器内
$ docker run --name some-mysql -v {你的mysql配置地址}:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
嗯就是用 -v
将容器内mysql数据存储到宿主机[选看]
$ docker run --name some-mysql -v {你的存储地址}:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
和上面配置是一样的使用-v关键字
最后进入mysql容器开启远程登陆
docker exec -it {运行起来的mysql容器名,或者hash码} bash
mysql -uroot -p
grant all privileges on *.* to 'root'@'%' identified by '{你的root密码}';
flush privileges;
#最后退出exit即可
最后测试连接,用可视化工具连接成功
三:搭建Redis
docker pull redis
#一样的可以通过 redis:{tag名} 来选择拉取那个版本的镜像
docker run --name {你想要等redis运行时候容器名} -p 6379:6379 -d redis
定制化配置文件,一样的使用-v参数。
$ docker run -v {你的配置文件地址}:/usr/local/etc/redis/redis.conf --name {你的容器名} redis redis-server /usr/local/etc/redis/redis.conf
使用vscode redis插件测试连接,成功。
四:MongoDb
命令不一一介绍了把,上面几个讲的挺详细的,有问题请留言。
docker pull mongo
docker run --name myMongo -p 27017:27017 -d mongo:tag可视化工具连接看下,连接成功。
关于定制
定制配置文件启动
docker run --name some-mongo -v /my/custom:/etc/mongo -d mongo --config /etc/mongo/mongod.conf
环境变量, 一样的用 -e
MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD
宿主机存储数据 ,一样一样用 -v
docker run --name some-mongo -v /my/own/datadir:/data/db -d mongo
五:RabbitMQ
docker pull rabbitmq
docker run -d --name mq -p 5672:5672 --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=test -e RABBITMQ_DEFAULT_PASS=test rabbitmq
下次再测试,没时间写稿了。还有其他中间件待更新。