一、CentOS安装Docker
Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。
基础命令
搜索镜像:docker search mysql
下载镜像:docker pull docker.io/mysql:5.7
查看镜像:docker images
删除镜像:docker rmi 镜像id
启动镜像作为容器:
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d docker.io/mysql:5.7 --lower_case_table_names=1
docker run --name 容器名 -d - p 3306:3306 mysql docker 启动容器
run(创建并运行一个容器)
-d 放在后台
-p 端口映射 :docker的容器端口
-P 随机分配端口
-v 源地址(宿主机):目标地址(容器)
打开端口号:firewall-cmd --zone=public --add-port=8080/tcp -permanent
重启防火墙:firewall-cmd --reload
查看容器:docker ps -a
进入某个容器:docker exec -it 容器id /bin/bash
进入容器mysql:mysql -uroot -p
停止容器:docker stop 容器id
杀死容器:docker kill 容器名称
容器状态:docker ps | grep 容器id
重启容器:docker restart 容器id
删除容器:docker rm 容器id
将一个终止状态(stopped)的容器重新启动:
[root@localhost ~]# docker ps -a # 先查询记录
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ee92fcf6f32d centos "/bin/bash" 4 days ago Exited (137) 3 days ago kickass_raman
[root@localhost ~]# docker start ee9 # 再启动这个容器
ee9
[root@localhost ~]# docker exec -it ee9 /bin/bash # 进入容器交互式界面
[root@ee92fcf6f32d /]# # 注意看用户名,已经变成容器用户名
1、卸载(视情况)
如果之前安装过旧版本的Docker,可以使用下面命令卸载:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
2、安装docker
首先需要大家虚拟机联网,安装yum工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
然后更新本地镜像源:
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
然后输入命令:
yum install -y docker-ce
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
3、启动docker
Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!
启动docker前,一定要关闭防火墙后!!
启动docker前,一定要关闭防火墙后!!
启动docker前,一定要关闭防火墙后!!
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
通过命令启动docker:
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
然后输入命令,可以查看docker版本
docker -v
启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
二、Docker安装Redis
1.拉起Redis镜像
可先搜索Redis版本
docker search redis
建议直接装最新版
docker pull redis
自己选择版本
docker pull redis:latest
2、配置挂载目录及config文件
本人挂载目录:docker/redis
创建data文件
mkdir -p /docker/data
下载redis.conf文件
wget http://download.redis.io/redis-stable/redis.conf
结构如下:
redis.conf修改点:
bind 127.0.0.1通过#注释掉,解除本地连接限制
protected-mode no,保护模式,限制为本地访问,修改后解除保护模式
daemonize yes 默认no 为不守护进程模式,修改为yes
requirepass rootroot 设置启用密码
3.运行Redis
docker run -d -p 6379:6379 \
--name redis \
--restart=always \
-v /docker/redis/data:/usr/local/redis/data \
-v /docker/redis/redis.conf:/usr/local/redis/redis.conf \
redis:latest;
查看Redis运行状态
docker ps
外部连接即可
4、问题:在学习Docker的时候遇到pull失败的情况
解决方法:切换到阿里云镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
同步时间:
ntpdate time.windows.com
三、Centos安装JDK
1、检查是否已经安装过JDK
yum list installed|grep java-1.8.0-openjdk*
2、如果已经安装了,需要卸载后重新安装
yum remove -y java-1.8.0-openjdk*
3、开始安装jdk1.8
yum install -y java-1.8.0-openjdk*
4、检查是否安装成功
[root@localhost~]# java -version
openjdk version "1.8.0_212"
OpenJDK Runtime Environment (build 1.8.0_212-b04)
OpenJDK 64-Bit Server VM (build 25.212-b04, mixed mode)
四、Docker安装mysql
1、查询 mysql 镜像
docker search mysql
2、拉取 mysql 镜像,不加版本号则默认拉取最新版本
docker pull mysql #可以选择特定版本,如 docker pull mysql:5.7
3、创建应用目录,如:/docker/mysql
4、设置参数
docker run \
--name mysql \
-e MYSQL_ROOT_PASSWORD=msir1234 \
-p 3306:3306 \
-v /docker/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /docker/mysql/data:/var/lib/mysql \ -d \
mysql:5.7
五、Dcoker安装ElasticSearch
1. 拉取elasticsearch镜像
拉取最新版本elasticsearch
docker pull elasticsearch:7.11.1
2. 配置elasticsearch端口,挂载数据卷
docker run --name es -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms512m -Xmx512m" \
-v es-data:/docker/elasticsearch/data \
-v es-plugins:/docker/elasticsearch/plugins \
-d elasticsearch:7.11.1
3. 验证elasticsearch是否启动成功
linux内用curl访问: curl http://localhost:9200,输入类似如下的信息表示安装成功
linux内用curl访问: curl http://localhost:9200,输入类似如下的信息表示安装成功
windows访问:使用自己的ip地址和域名
六、Docker安装kibana(ES)
1、安装kibana版本与elasticsearch版本一致,即7.11.1
docker pull kibana:7.11.1
docker images查看docker的安装内容
2. 启动kibana
安装完成以后需要启动kibana容器,使用–link连接到elasticsearch容器,命令如下:
注意这里的elasticsearcha:elasticsearcha要和上面的一致:
docker run --name kibanaa --link=elasticsearcha:elasticsearcha -p 5601:5601 -d kibana:7.11.1
3、Kibana server is not ready yet报错
解决办法:
故执行如下命令查看elasticsearch容器内部ip,发现果然是kibana.yaml配置文件中的es容器ip与现在实际的es容器ip不一致造成的。
# docker inspect --format '{{ .NetworkSettings.IPAddress }}' 容器id
docker inspect --format '{{ .NetworkSettings.IPAddress }}' 1b575fd64acf
# 查看es容器id
docker ps
进入kibana容器,更新kibana.yaml配置文件。执行如下命令进入并编辑kibana.yaml,
# docker exec -it kibana容器id/bin/bash
docker exec -it 1b575fd64acf /bin/bash
进入修改配置
cd config
vi kibana.yml
按 i 键进入编译模式
将下图所选部分的ip地址更换成实际的es容器ip地址
修改完成按 Esc 键
按 : 键进入底线命令
底线命令输入 wq 就可以保存并退出vi编译器
按 ctrl+D 键退出exec模式
重启容器
docker restart 容器id
然后访问,访问成功
http://192.168.58.128:5601/
4、设置为中文
虽然已经安装好了,但是英文看起来不流畅
查看Kibana容器id
docker ps
进入到容器
# docker exec -it kibana容器id/bin/bash
docker exec -it b3e038d8cae6 /bin/bash
查看目录并进入到config目录下
cd config
编辑 kibana.yml 文件
vi kibana.yml
文件末尾添加
i18n.locale: "zh-CN"
修改完成 英文模式下 按esc退出编辑模式 后保存配置
esc键
:wq
重启kibana
docker restart kibana容器Id
翻译结果:
七、Docker安装IK分词器
进入elasticsearch容器
docker exec -it es /bin/bash
在校安装
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.11.1/elasticsearch-analysis-ik-7.11.1.zip
测试成功
IK分词器包含两种模式
ik_smart
:最少切分ik_max_word
:最细切分