目录
一、CentOS 7 安装docker
二、docker安装nginx
三、docker安装MySQL
四、docker安装redis
五、docker安装rabbitMQ
六、docker安装FastDFS
6.1、上传测试:
七、docker安装elasticsearch7.8
7.1、安装ik插件
①方式一:
②方式二:在线安装(慢),如果找到更快的下载地址的话推荐使用
八、docker安装nacos
Docker 概念
-
Docker 是一个开源的应用容器引擎
-
诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
-
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
-
容器是完全使用沙箱机制,相互隔离。
-
容器性能开销极低。
-
Docker 从 17.03 版本之后分为 CE(Community Edition: 区版) 和 EE(Enterprise Edition: 企业版)
docker容器虚拟化 与 传统虚拟机比较
-
相同:
容器和虚拟机具有相似的资源隔离和分配优势
-
不同:
容器虚拟化的是操作系统,虚拟机虚拟化的是硬件。
传统虚拟机可以运行不同的操作系统,容器只能运行同一类型操作系统
一、CentOS 7 安装docker
# 1、yum 包更新到最新
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager –add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)yum-config-manager –add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)
# 4、 安装docker,出现输入的界面都按 y
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v
设置阿里云镜像加速器:
mkdir -p /etc/docker
vi /etc/docker/daemon.json
daemon.json内容如下:
{
“registry-mirrors”: [“https://k03gsl1f.mirror.aliyuncs.com”]
}
重启:
sudo systemctl daemon-reload
sudo systemctl restart docker
二、docker安装nginx
拉取官方最新版本镜像:
$ docker pull nginx:latest
查看本地镜像:
$ docker images
运行容器:
docker run –name nginx -d -p 80:80 nginx
参数说明:
-
–name nginx:容器名称。
-
-p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
-
-d nginx: 设置容器在在后台一直运行。
创建文件夹 :
cd /opt
mkdir nginx
cd nginx
mkdir conf conf.d html logs
vi /opt/nginx/html/index.html:
Welcome to nginx!
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.For online documentation and support please refer to
nginx.org.Commercial support is available at
nginx.com.Thank you for using nginx.
vi /opt/nginx/conf/nginx.conf
#user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;
events {
worker_connections 1024;
}http {
include mime.types;
default_type application/octet-stream;#log_format main ‘$remote_addr – $remote_user [$time_local] “$request” ‘
# ‘$status $body_bytes_sent “$http_referer” ‘
# ‘”$http_user_agent” “$http_x_forwarded_for”‘;#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;#keepalive_timeout 0;
keepalive_timeout 65;#gzip on;
server {
listen 80;
server_name localhost;#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#修改默认发布路径
root /usr/share/nginx/html;
index index.html index.htm;
}error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}}
}
启动容器:
docker run –name nginx -d -p 80:80 -v /opt/nginx/html:/usr/share/nginx/html -v /opt/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /opt/nginx/logs:/var/log/nginx -v /opt/nginx/conf.d:/etc/nginx/conf.d nginx
外部访问需要打开linux防火墙指定端口
三、docker安装MySQL
拉取镜像:
$ docker pull mysql:5.7
查看本地镜像:
$ docker images
自定义容器:
docker network create –driver bridge mybridge
运行容器:
docker run -itd –net=mybridge –name mysql57 -v /data/mysql:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root daocloud.io/library/mysql:5.7.7 –lower_case_table_names=1
参数说明:
-
-v :挂载数据卷,保证容器数据持久化,当删除容器后,数据依然存在。
-
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
-
MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
可能出现的错误:
navicat连接 错,原因是mysql最新版更新来认证插件( caching_sha2_password ),改了后navicat就连接不上,所以需要改回 mysql_native_password 。
四、docker安装redis
拉取最新版本镜像:
$ docker pull redis:latest
查看本地镜像:
$ docker images
运行容器:
$ docker run -itd –name redis-test -p 6379:6379 redis –requirepass Dreamtale199432
参数说明:
-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。
通过 redis-cli 连接测试使用 redis 服务:
$ docker exec -it redis-test /bin/bash
五、docker安装rabbitMQ
拉取镜像:
docker pull daocloud.io/library/rabbitmq:3.6.1-management
创建容器:
docker run -d –name rabbitmq3.6.1 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq –hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin 0aaf0120f505
参数说明:
-d 后台运行容器;
–name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口 );
-v 映射目录或文件;
将当前路径下(由)的data文件夹映射到docker中的/var/lib/路径下的的rabbitmq文件夹,这样,docker下的/var/lib/rabbitmq就指向来本机的/data文件夹;
–hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)
可以使用浏览器打开web管理端:http://Server-IP:15672
六、docker安装FastDFS
1.获取FastDFS镜像:
docker image pull delron/fastdfs
2.运行tracker:
docker run -dti –network=host –name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
参数说明:
–network=host 类似于vmware中的桥接模式,容器和宿主机(centos)在同一个 络,但是没有独立ip,和centos同一个ip。
3.运行storage:
docker run -dti –network=host –name storage -e TRACKER_SERVER=120.25.104.87:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage
注意:如果无法重新运行,可以删除目录下的 文件,然后重新运行storage, 注意这个pid文件十分重要!!
6.1、上传测试:
进入容器:
docker exec -it storage /bin/bash
进入etc目录 :
cd /etc
利用自带客户端上传yum.conf:
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf yum.conf
如果成功,将返回文件id:
group1/M00/00/00/wKj5lF-8YFSAf7GfAAAD-xaDY2s60.conf
返回linux主机,开放端口:
firewall-cmd –zone=public –permanent –add-port=8888/tcp
firewall-cmd –zone=public –permanent –add-port=22122/tcp
firewall-cmd –zone=public –permanent –add-port=23000/tcp
systemctl restart firewalld
下载测试:
http://requestUrl:8888/group1/M00/00/00/wKj5lGFL8pSAWTJWAAAD-xaDY2s17.conf
七、docker安装elasticsearch7.8
拉取原始镜像 :
docker pull elasticsearch:7.8.0
或者拉取国内镜像(推荐) :
docker pull daocloud.io/library/elasticsearch:7.8.0
创建数据卷
mkdir -p /usr/local/dockeres/data
mkdir -p /usr/local/dockeres/logs
mkdir -p /usr/local/dockeres/config
cd /usr/local/
chmod -R 777 dockeres
将以下链接的配置文件拷贝到linux的/usr/local/dockeres/config/目录下:
运行容器 :
docker run -di –name=es2 -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node”
-v /usr/local/dockeres/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /usr/local/dockeres/config/jvm.options:/usr/share/elasticsearch/config/jvm.options
-v /usr/local/dockeres/data:/usr/local/dockeres/data
-v /usr/local/dockeres/logs:/usr/local/dockeres/logs
-v /usr/local/dockeres/plugins/:/usr/share/elasticsearch/plugins/
121454ddad72
如果安装有一些 络警告,建议重启一下linux
进入数据卷目录:
cd /usr/local/dockeres/config/
vi jvm.options :
自定义运行内存
-Xms256m
-Xmx256m
vi elasticsearch.yml :
cluster.name: “docker-cluster”
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: “*”
重启ElasticSearch容器 :
docker restart es
查看日志 :
docker logs es -f
当出现以下信息,表示已经启动成功 :
2020-09-23T03:28:17.986586995Z {“type”: “server”, “timestamp”: “2020-09-23T03:28:17,978Z”, “level”: “INFO”, “component”: “o.e.g.GatewayService”, “cluster.name”: “docker-cluster”, “node.name”: “59ecb68242af”, “message”: “recovered [0] indices into cluster_state”, “cluster.uuid”: “yNciBGGDTlCb18mUY9ArOA”, “node.id”: “Ut2NwQA4SsuPSItOFOI3zA” }
windows中访问测试 :
http://requestUrl:9200/
注意检查防火墙对应端口是否打开 :
firewall-cmd –list-port
如果未开,手动开一下
firewall-cmd –permanent –zone=public –add-port=9200/tcp
firewall-cmd –permanent –zone=public –add-port=9300/tcp重启
firewall-cmd –reload
7.1、安装ik插件
①方式一:
下载elasticsearch-analysis-ik-7.8.0:
上传zip到centos 的/usr/local/dockeres/plugins/目录
解压:
unzip elasticsearch-analysis-ik-7.8.0.zip -d ./ik
删除压缩包(必须):
rm elasticsearch-analysis-ik-7.8.0.zip
重启容器:
docker restart es
②方式二:在线安装(慢),如果找到更快的下载地址的话推荐使用
进入容器:
docker exec -it es /bin/bash
在线下载并安装(大概30分钟) :
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip
退出容器 :
exit
重启ElasticSearch容器:
docker restart es
八、docker安装nacos
拉取镜像 :
docker pull nacos/nacos-server:1.2.1
启动容器 :
docker run –env MODE=standalone –name nacos -d -p 8848:8848 nacos/nacos-server:1.2.1
测试: http://requestUrl:8848/nacos/index.html
nacos的默认端口 是8848,默认账 密码是nacos/nacos。至此安装已经结束。
文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树容器(docker)安装docker8962 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!