目录

一、CentOS 7 安装docker

二、docker安装nginx

2.1、如果为了方便编辑配置和发布静态资源,可以挂载数据卷

三、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: 设置容器在在后台一直运行。

2.1、如果为了方便编辑配置和发布静态资源,可以挂载数据卷

创建文件夹 :

cd /opt
mkdir nginx
cd nginx
mkdir conf conf.d html logs

vi /opt/nginx/html/index.html:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

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文件十分重要!!

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

有道云笔记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

7.1、安装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

八、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。至此安装已经结束。

CentOS 7 Docker 安装软件相关推荐

  1. centos 7 Docker 安装及配置镜像加速

    centos 7 Docker 安装及配置镜像加速 文章目录 centos 7 Docker 安装及配置镜像加速 Docker 版本 基于 `CentOS `安装 `Docker` 引擎 系统要求 卸 ...

  2. 华为云centOs下docker安装(一)

    华为云centOs下docker安装 安装centOs下安装docker 安装centOs下安装docker CentOS 7.6 64bit 系统盘容量: 40 GB系统类型: 64-bit 把yu ...

  3. centos 怎样下载php,centos下怎样安装软件

    centos下安装软件的方法是: centos安装软件的命令 1.rpm包的安装1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.移走一个包 # rpm -e 4.安装参 ...

  4. CentOS 7 Docker安装GVM-11

    关于如何用docker部署 GVM-11,先给出一个 shell 脚本,然后给出踩坑过程: #/bin/bash ################ README INFO ############## ...

  5. CentOS中yum安装软件时报错:No package XXX available(转载)

    转自:https://www.cnblogs.com/xixihuang/p/5405188.html yum 安装软件时,报错:No package XXX available. 1 2 3 4 [ ...

  6. CentOS 使用 Docker 安装 Sentry

    官网介绍:Sentry是一个实时事件日志记录和汇集的日志平台,其专注于错误监控,以及提取一切事后处理所需的信息.他基于Django开发,目的在于帮助开发人员从散落在多个不同服务器上的日志文件里提取发掘 ...

  7. Centos卸载rpm安装软件

    1.查询是否安装软件 rqm -qa | grep <软件名称> 如:rpm -qa | grep java 2.卸载软件 rpm -e <软件名称> 如:rpm -e jav ...

  8. CentOS下Docker 安装

    一.前提 Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上. Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位 ...

  9. docker安装linux镜像制作,制作镜像(含centos上docker安装)

    ------------------------------------预备:安装docker-ce-------------------------------------------------- ...

最新文章

  1. 第九课.Python文件操作
  2. python读txt转array_np.array和txt文件的转换
  3. 设计微服务架构需要掌握的基础知识
  4. 如何在OS X中打开或关闭鼠标定位器
  5. “Master”连胜世界围棋冠军,谁是幕后智能引擎?
  6. CorelDRAWX4的VBA插件开发(七)形状的静态编号和一键转位图
  7. 手撕包菜磁力搜索引擎的开源说明
  8. logistic回归分析优点_数据统计的理解和应用(十二)多因素logistic回归案例分析...
  9. HTTP性能测试工具siege
  10. mysql 全文索引无效_为什么MySQL全文索引不起作用?
  11. 解决罗技K580键盘win和alt键互换问题
  12. 微信小程序常用视图容器组件
  13. Springboot源码分析第一弹 - 自动装配实现
  14. setTimeout原理
  15. npm、yarn、pnpm、cnpm对比其优劣势
  16. 新手选车系列之(八): 选车购车谨慎采取“一票否决制”
  17. java+springboot影楼婚纱照预约系统ssm
  18. 爱的诠释,你懂的!我们都懂的!
  19. 基于STM32F103C8T6的USB虚拟示波器
  20. Avast 2017发布安全新功能:杀毒更高效,玩游戏更畅快

热门文章

  1. 如何写Android 培训的PPT
  2. 工业领域常用的全数字无线加密通讯产品盘点
  3. Ubuntu14.04安装librealsense(camera R200)
  4. Linux系统之Uboot、Kernel、Busybox思考之四
  5. 10个让设计简单干净的黄金法则
  6. SPT的全称为sql pass through
  7. Everything:速度最快的文件名搜索工具(201306更新)
  8. 纯 canvas 实现漂亮的仪表盘
  9. NetCDF(nc)读写与格式转换介绍
  10. 独立成分分析(ICA)降噪应用时存在哪些问题?