CentOS 7 Docker 安装软件

CentOS 7 Docker 安装软件,第1张

CentOS 7 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!

    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }



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 映射目录或文件;

将当前路径下(由pwd)的data文件夹映射到docker中的/var/lib/路径下的的rabbitmq文件夹,这样,docker下的/var/lib/rabbitmq就指向来本机的pwd/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 

注意:如果无法重新运行,可以删除/var/fdfs/storage/data目录下的fdfs_storaged.pid 文件,然后重新运行storage, 注意这个pid文件十分重要!!

上传测试:

进入容器:

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/目录下:

有道云笔记https://note.youdao.com/s/QJHqpkQK

有道云笔记https://note.youdao.com/s/SR1rSQ6C

运行容器 :

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

安装ik插件 方式一:

下载elasticsearch-analysis-ik-7.8.0:

有道云笔记https://note.youdao.com/s/20X6Jmpt

 上传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 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5676473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存