docker环境部署总结,包括安装mysql,redis,mongo,rabbitMQ等

docker环境部署总结

一.docker安装

1.安装yum-utils:

yum install -y yum-utils device-mapper-persistent-data lvm2

2.为yum源添加docker仓库位置:

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装docker:

yum install docker-ce

附:ubuntu安装

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
sudo apt update
sudo apt install apt-transport-https ca-certificates software-properties-common curl
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu
$(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce

4. 开机自启

sudo systemctl enable docker

5. 启动docker:

systemctl start docker

6. docker 容器自动启动

docker update --restart=always xxx(容器名称)

7. 阿里云镜像加速

获取地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

在/etc/docker目录下找到在daemon.json文件(没有就新建),将下面内容写入

vi /etc/docker/daemon.json
{
          
	"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com(此处为上面网站获取的地址)"]   
}

然后重启。systemctl restart docker

8.docker-compose安装

# 推荐pip安装
# 安装pip
yum -y install epel-release
yum -y install python-pip
# 确认版本
pip --version
# 更新pip
pip install --upgrade pip
# 安装docker-compose
pip install docker-compose 

二.docker环境下的mysql安装,以5.7版本为例

1.下载镜像文件

docker pull mysql:5.7

2.创建实例并启动

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

参数说明:
–name :容器名称
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-e MYSQL_ROOT_PASSWORD=123456:初始化root用户的密码
-d :后台运行
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
最后面mysql为镜像名称

3.设置容器自动启动

docker update --restart=always mysql

4.通过容器的mysql命令行工具连接

docker exec -it mysql mysql -uroot -p
然后输入密码,回车
第一个mysql为你创建的实例名称

5. 设置远程访问

grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
然后可以使用navicat远程连接了

navicat远程连接连接2059错误解决方法:

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

三.docker环境下的redis安装

1.下载镜像文件

docker pull redis

2.创建实例并启动

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

3.设置容器自动启动

docker update --restart=always redis

4.查看容器运行状态

docker ps

四.docker环境下的mongo安装

1.下载镜像文件

docker pull mongo

2.创建实例并启动

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

3.设置容器自动启动

docker update --restart=always mongo

4.查看容器运行状态

docker ps

五.docker环境下的rabbitMQ安装

1.下载镜像文件

docker pull rabbitmq:management

2.创建实例并启动

docker run -di --name=rabbitmq -p 5671:5617 -p 5672:5672 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management

3.设置容器自动启动

docker update --restart=always rabbitmq 

4.查看容器运行状态

docker ps

5.验证
浏览器访问 http://xxx.xxx.xxx.xxx:15672/#/
账号密码都为:guest

docker环境部署总结,包括安装mysql,redis,mongo,rabbitMQ等_第1张图片

六.nacos单机版

docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server

七.docker环境下的ElasticSearch安装

1.下载镜像文件

docker pull elasticsearch

2.创建实例并启动

docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name elasticsearch  elasticsearch

3.设置容器自动启动

docker update --restart=always elasticsearch  

4.查看容器运行状态

docker ps

测试是否成功:浏览器访问

http://xxx.xxx.xxx.xxx:9200/

出现如下类似界面,证明安装成功
docker环境部署总结,包括安装mysql,redis,mongo,rabbitMQ等_第2张图片
5.使用java或者其他连接时会报错

failed to load elasticsearch nodes : 
org.elasticsearch.client.transport.NoNodeAvailableException:
 None of the configured nodes are available: 
 [{
     #transport#-1}{5ttLpMhkRjKLkvoY7ltUWg}
 {
     xx.xxx.xxx.xxx:9200}
 {
     xx.xxx.xxx.xxx:9300}]

原因:es5后,默认关闭了远程连接

6.开启远程连接,跨域配置
(1)进入容器内部

docker exec -it elasticsearch /bin/bash

(2)进入config目录

cd config

(3)修改elasticsearch.yml文件

vim elasticsearch.yml
会报错 vi: command not found
安装vi命令
apt-get update
apt-get install vim
安装完成后
vim elasticsearch.yml

如图显示那行,原本前面有个#注释,去掉# 保存
在这里插入图片描述
然后添加下面两行

#跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"

(4)重启

exit 退出容器,然后重启容器
docker restart elasticsearch

(5)重启后发现重启启动失败了
这与我们刚才修改的配置有关,因为elasticsearch在启动的时候会进行一些检查,比如最多打开的文件的个数以及虚拟内存区域数量等等,如果你放开了此配置,意味着需要打开更多的文件以及虚拟内存,所以我们还需要系统调优

修改limits.conf文件

vi /etc/security/limits.conf

追加内容

* soft nofile 65536
* hard nofile 65536

保存,退出

修改sysctl.conf文件

vi /etc/sysctl.conf

追加内容

vm.max_map_count=655360

保存,退出
执行下面命令 修改内核参数马上生效

sysctl -p

再次启动容器,发现已经可以启动并远程访问

IK分词器安装

1.安装ik分词器

IK分词器下载地址
注意版本的要对应
将ik分词器上传到服务器上,然后解压,并改名字为ik

解压
unzip elasticsearch-analysis-ik-5.6.8.zip(为你上传的文件名)
重命名
mv elasticsearch ik

如果提示没有unzip命令,先安装unzip命令
yum install unzip

将ik目录拷贝到docker容器的plugins目录下

docker cp ./ik elasticsearch:/usr/share/elasticsearch/plugins

重启: docker restart elasticsearch

2.IK分词器测试

访问:http://xxx.xxx.xxx.xxx:9200/_analyze?analyzer=ik_smart&pretty=true&text=我是程序员
docker环境部署总结,包括安装mysql,redis,mongo,rabbitMQ等_第3张图片
出现如图界面,ik安装成功

head插件安装

1.下载镜像

docker pull mobz/elasticsearch-head:5

2.创建运行容器

docker run -di --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5

3.测试是否成功

浏览器访问
http://xxx.xxx.xxx.xxx:9100/

docker环境部署总结,包括安装mysql,redis,mongo,rabbitMQ等_第4张图片
出现如图界面,表示安装成功

Kibana安装

ip换成elasticsearch 的 ip

docker run --name kibana -e ELASTICSEARCH_URL=http://116.62.110.148:9200 -p 5601:5601 -d kibana

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