Docker 安装常用环境

Posted by JJput on 10-29,2021

Docker

Docker基础知识通俗解释

镜像

就像我们装系统一下,需要iso镜像文件,此镜像你可以照搬理解,也是用于安装对应软件。
同一软件可以同时存在多个版本的镜像。比如mysql,我本地可以同时存在5.7版本和8.0版本,安装容器的时候指定版本即可。

容器

我们用镜像安装并成功运行的对象,称之为容器。
而且同一镜像可以同时安装很多个容器,这样就可以很方便的模拟出分布式架构,学习和实践都方便。

MySQL

拉取最新版mysql

docker pull mysql:latest

ARM架构,M1芯片拉去最新版mysql

docker pull mysql/mysql-server:latest

指定版本

docker pull mysql:版本号

验证是否安装mysql镜像

docker images

会看到有mysql的镜像(TAG为你下载时的版本)
image.png

安装运行容器

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

解释:

  • run -itd一般写法,详情查看菜鸟
  • --name mysql指定容器名称为mysql
  • -p 8000:3306将内部3306端口映射出去为8000,实际连接时也应上8000
  • -e MYSQL_ROOT_PASSWORD=123456设置默认root密码为123456
  • 尾部的mysql代表该容器的镜像,如果本地存在多个镜像需要指定版本,如mysql:5.7

这样还没完,mysql默认root是不允许外部连接的,我们需要进入修改。

docker desktop的同学进入容器命令行很方便:

image.png

也可以通过命令进入

docker exec -i 69d1 bash

其中69d1是容器的id,前4位即可
查看容器id

docker ps

mysql的用户操作可以看这篇文章MySQL用户操作

Redis

拉取

docker pull redis:latest

安装并运行

docker run -itd --name redis -p 6379:6379 redis

设置默认密码

docker run -itd --name redis -p 6379:6379 redis --requirepass "mypassword"

RabbitMQ

拉取,这里注意一下rabbitmq:management是带后台管理界面的,rabbitmq:latest是不带的。

docker pull rabbitmq:management

安装并运行

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

MongoDB

拉取

docker pull mongo:latest

安装并运行

docker run -itd --name mongo -p 27017:27017 mongo --auth

进入容器后配置连接账号密码

进入容器后输入下面指令进入
mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
>  db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')