CentOS 7 Docker 安装软件

目录

一、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进行处理,非常感谢!

上一篇 2021年11月12日
下一篇 2021年11月12日

相关推荐