一.MYSQL部署
1.拉取镜像
docker pull mysql:5.7
2.创建mysql容器
docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7
参数:-e (export)设置环境变量
3.进入mysql容器
docker exec -it mysql /bin/bash
4.进入mysql命令模式
mysql -uroot -proot --default-character-set=utf8
二.NGINX部署
1.拉取镜像
docker pull nginx
2.把容器中nginx配置拷贝到宿主机
docker cp nginx:/etc/nginx /mnt/mydata/nginx
3.停止nginx容器并移除nginx容器
docker stop nginx
docker rm nginx
4.创建nginx容器并挂载目录
docker run -di --name=nginx -p 80:80 -v /mnt/mydata/conf/:/etc/nginx nginx
结果如下:
三.REDIS部署
1.拉取镜像
docker pull redis
2.创建redis容器
docker run -di --name=redis -p 6379:6379 redis
四.RabbitMQ部署
1.拉取镜像
docker pull rabbitmq:3.7.12
2.创建rabbitmq容器
docker -di --name=rabbitmq -p 5671:5671 -p 5672:5672 -p 4369:4369 -p 25672:25672 -p 15671:15671 -p 15672:15672 rabbitmq:3.7.12
3.进入rabbitmq容器
docker exec -it ranbbitmq /bin/bash
4.安装web界面管理插件
rabbitmq-plugins enable rabbitmq_management
5.页面访问
五.部署elasticsearch
1.拉取镜像
docker pull elasticsearch:7.5.0
2.调整vm.max_map_count的大小
(1)查看当前值
sysctl -a|grep vm.max_map_count
临时修改
sysctl -w vm.max_map_count=262144
永久修改
vim /etc/sysctl.conf
vm.max_map_count=262144
补充
(3)修改max user processes进程数
临时修改
ulimit -u 65536
永久修改
vim /etc/security/limits.conf* soft nproc 65536
* hard nproc 65536
3.创建elasticsearch容器
docker run -di --name=elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "cluster.name=elasticsearch" -v /mnt/mydata/elasticserach/plugins:/usr/share/elasticsearch/plugins elasticsearch:7.5.0
4.进入elasticsearch容器
docker exec -it elasticsearch /bin/bash
5.安装ik分词器
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.5.0/elasticsearch-analysis-ik-7.5.0.zip
下载地址:https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.5.0/elasticsearch-analysis-ik-7.5.0.zip
6.结果如下:
六.zookeeper部署
作用:
1.拉取镜像
docker pull zookeeper:3.4.13
2.创建zookeeper容器
docker run -di --name=zookeeper -p 2181:2181 zookeeper:3.4.13
七.Docker的私有仓库
1.私有仓库的搭建与配置
(1)拉取私有仓库镜像
docker pull registry
(2)创建registry1.0容器
docker run -di --name=registry1.0 -p 5000:5000 registry
(3)重启registry1.0容器
docker restart registry1.0
(4)访问
192.168.10.77:5000/v2/_catalog
结果如下
(5)添加信任
vim /etc/docker/daemon.json
内容如下:
{
"registry-mirrors": ["http://ef017c13.m.daocloud.io"],
"insecure-registries": ["192.168.10.77:5000"]
}
“registry-mirrors”: [“http://ef017c13.m.daocloud.io”] 配置docker加速器
“insecure-registries”: [“192.168.10.77:5000”] 添加信任
(6)接着重启registry1.0容器
docker restart registry1.0
2.私有仓库镜像上传
(1) 标记本地镜像
将jdk1.81 标记为 192.168.10.77:5000/jdk1.81 镜像
docker tag jdk1.81 192.168.10.77:5000/jdk1.81
(2)查看镜像
docker images
(3)上传镜像
docker push 192.168.10.77:5000/jdk1.81
结果如下:
可能出现以下报错:
问题一:
Get https://192.168.10.77:5000/v2/: http: server gave HTTP response to HTTPS client
原因:/etc/docker/daemon.json 文件配置有问题
解决办法:
vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://ef017c13.m.daocloud.io"],
"insecure-registries": ["192.168.10.77:5000"]
}
重启docker服务
systemctl restart docker.service
问题二:
Get http://192.168.238.10:5000/v2/: dial tcp 192.168.238.10:5000: connect: connection refused
原因:docker里registry端口映射服务关闭了
解决方法:
(1)查看容器状态:
docker ps -a
(2)开启映射
docker start 61d77a803579 (ID值)