当前位置:   article > 正文

centos7安装到docker安装

centos7安装到docker安装

centos7安装

安装后网络设置

cd "/etc/sysconfig/network-scripts/ifcfg-enp0s3"
  • 1

注意:文件以ifcfg-开头,后缀不确定

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="ab375901-7925-4bf6-8c00-b66bd6f99971"
DEVICE="enp0s3"
ONBOOT="yes"
IPADDR="192.168.31.42"
NETMASK="255.255.255.0"
GATEWAY="192.168.31.1"
DNS1="119.29.29.29"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

修改红色区域

docker安装

1.安装依赖软件包
yum install -y yum-utils device-mapper-persistent-data lvm2 
#安装前可查看device-mapper-persistent-data和lvm2是否已经安装 
rpm -qa|grep device-mapper-persistent-data 
rpm -qa|grep lvm2
  • 1
  • 2
  • 3
  • 4
2.设置yum源
yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
  • 1
  • 2
3.安装最新版本docker-ce
yum install docker-ce -y 
#安装指定版本docker-ce可使用以下命令查看 
yum list docker-ce.x86_64 --showduplicates | sort -r 
# 安装完成之后可以使用命令查看 
docker version
  • 1
  • 2
  • 3
  • 4
  • 5
4.配置镜像加速

1.注册登录开通阿里云容器镜像服务

https://cr.console.aliyun.com/cn-hangzhou/instances/repositories
  • 1

2.查看控制台,招到镜像加速器并复制自己的加速器地址
3.找到/etc/docker目录下的daemon.json文件,没有则直接 vi daemon.json
4.加入以下配置

#填写自己的加速器地址 
{
	 "registry-mirrors": ["https://zfzbet67.mirror.aliyuncs.com"]
 }
  • 1
  • 2
  • 3
  • 4
# 或者直接复制在终端执行
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://uucf09wj.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

5.通知systemd重载此配置文件;

systemctl daemon-reload
  • 1

6.重启docker服务

systemctl restart docker
  • 1

docker服务器、以及容器设置自动启动

一、docker服务设置自动启动

说明:适用于yum安装的各种服务

查看已启动的服务
systemctl list-units --type=service
  • 1
查看是否设置开机启动
systemctl list-unit-files | grep enable
  • 1
设置开机启动
systemctl enable docker.service
  • 1
关闭开机启动
systemctl disable docker.service
  • 1

二、docker容器设置自动启动

启动时加–restart=always

docker run -tid --name tomcat -p 8080:8080 --restart=always tomcat
  • 1
选项解释
no不自动重启容器. (默认value)
on-failure容器发生error而退出(容器退出状态不为0)重启容器
unless-stopped在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always在容器已经stop掉或Docker stoped/restarted的时候才重启容器

如果已经过运行的项目

如果已经启动的项目,则使用update更新:

docker update --restart=always tomcat
  • 1

软件安装

mysql安装

下载镜像文件

docker pull mysql:5.7 
  • 1

创建实例并启动

docker run -p 3306:3306 --name mysql --restart=unless-stopped \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root  \
-d mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_general_ci

docker run -p 3306:3306 --name mysql --restart=unless-stopped \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=root  \
-d mysql \
--character-set-server=utf8 --collation-server=utf8_general_ci
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

参数说明

  • -p 3306:3306:将容器的3306端口映射到主机的3306端口
  • -v /data/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
  • -v /data/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
  • -v /data/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
  • -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
  • 最后一行为设置默认字符集为utf-8

通过容器的mysql命令行工具连接

docker exec -it mysql mysql -uroot -proot
  • 1

设置远程访问

grant all privileges on *.* to 'root' @'%' identified by 'root';
flush privileges;
  • 1
  • 2

进入容器文件系统

docker exec -it mysql /bin/bash
  • 1

redis安装

下载镜像文件

docker pull redis:3.2
  • 1

创建实例并启动

docker run -p 6379:6379 --restart=unless-stopped --name redis -v /data/redis/data:/data -d redis redis-server --appendonly yes  --requirepass "mypassword"
  • 1

–requirepass “mypassword” 为需要密码为mypassword 不要密码可以去掉

使用redis镜像执行redis-cli命令连接

docker exec -it redis redis-cli
  • 1

nginx安装

下载镜像文件

docker pull nginx:1.10
  • 1

创建实例并启动

docker run -p 80:80 --name nginx \
-v /data/nginx/html:/usr/share/nginx/html \
-v /data/nginx/logs:/var/log/nginx  \
-d nginx:1.10
  • 1
  • 2
  • 3
  • 4

修改nginx配置

  1. 将容器内的配置文件拷贝到当前目录:docker container cp nginx:/etc/nginx .
  2. 修改文件名称:mv nginx conf
  3. 终止容器:docker stop nginx
  4. 执行命令删除原容器:docker rm $ContainerId
  5. 执行以下命令:
   docker run -p 80:80 --name nginx \
   -v /data/nginx/html:/usr/share/nginx/html \
   -v /data/nginx/logs:/var/log/nginx  \
   -v /data/nginx/conf:/etc/nginx \
   -d nginx:1.10
  • 1
  • 2
  • 3
  • 4
  • 5

rabbitmq安装

下载镜像文件

docker pull rabbitmq:management
  • 1

创建实例并启动

docker run -d --name rabbitmq --publish 5671:5671 \
 --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \
rabbitmq:management
  • 1
  • 2
  • 3

elasticsearch安装

下载镜像文件

docker pull elasticsearch:6.4.0
  • 1

创建实例并运行

docker run -p 9200:9200 -p 9300:9300 --name elasticsearch \
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-d elasticsearch:6.4.0
  • 1
  • 2
  • 3
  • 4

测试

访问会返回版本信息:http://192.168.31.42:9200/

安装目录位置

/usr/share/elasticsearch

安装head插件(可以不安装,仅用于测试)

  1. 进入docker内部bash:docker exec -it elasticsearch /bin/bash
  2. 安装插件,具体参考:https://github.com/mobz/elasticsearch-head
  3. 测试:http://192.168.31.42:9200/_plugin/head/

安装中文分词器IKAnalyzer

  1. 进入docker内部bash:docker exec -it elasticsearch /bin/bash
  2. 安装中文分词插件,执行以下命令:
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.2/elasticsearch-analysis-ik-6.2.2.zip
  • 1
  1. 测试:
    • 访问header插件:打开地址http://192.168.31.42:9200/_plugin/head/
    • 选择复合查询,输入地址:POST:http://192.168.31.42:9200/_analyze
    • 输入参数:JSON:{“analyzer”:“ik”,“text”:“我们是大数据开发人员”}

el方式2

一、ElasticSearch安装
1、使用以下命令安装:

docker run -d --name elasticsearch  -p 9200:9200 -p 9300:9300 -e  "discovery.type=single-node" elasticsearch:7.6.2
  • 1

es安装完成之后在浏览器中打开http://192.168.31.42:9200

{
  "name" : "0dadc5a6a626",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "tKjrTI__SYGlvCmaFXdePw",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

2、修改配置,解决跨域访问问题(可选)
首先进入到容器中,然后进入到指定目录修改elasticsearch.yml文件。(我修改后无法启动,一般直接跳过,安装kibana)

docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/config/
vi elasticsearch.yml
  • 1
  • 2
  • 3

在elasticsearch.yml的文件末尾加上:

http.cors.enabled: true
http.cors.allow-origin: "*"
  • 1
  • 2

修改配置后重启容器即可。

docker restart elasticsearch
  • 1

3、安装ik分词器(可选)
注意:elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。可以在这查看所有版本,选择合适自己版本的右键复制链接地址即可。
这一步可能会报错,是网络的问题,一定要多试几次,多试,一直试,血泪史啊

docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/plugins/
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip
exit
docker restart elasticsearch 
  • 1
  • 2
  • 3
  • 4
  • 5

二、Kibana安装
1、安装

docker run --name kibana --link=elasticsearch:test  -p 5601:5601 -d kibana:7.6.2
  • 1

2、修改中文

docker exec -it kibana /bin/bash
cd config
vi kibana.yml 
  • 1
  • 2
  • 3

在kibana.yml配置文件最后增加:

i18n.locale: "zh-CN" 
  • 1

保存之后重启容器。

docker restart kibana
  • 1

mongodb安装

下载镜像文件

docker pull mongo:3.2
  • 1

创建实例并运行

docker run -p 27017:27017 --name mongo -v /data/mongo/db:/data/db -d mongo:3.2
  • 1

使用mongo命令进入容器

docker exec -it mongo mongo
  • 1

FastDFS

docker pull morunchang/fastdfs
  • 1
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
  • 1
docker run -d --name torage --net=host -e TRACKER_IP=192.168.31.42:22122 -e GROUP_NAME=group1  morunchang/fastdfs sh storage.sh
  • 1

openresty

docker run --name openresty -p 80:80 -p 443:443 -di  openresty/openresty
  • 1

nacos

docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server
  • 1

测试:http://192.168.31.42:8848/nacos
帐号密码:都是nacos

kafka

# 先安装zookeeper
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2  --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime wurstmeister/zookeeper
  • 1
  • 2
# 再安装kafka
docker run -d --restart=always --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka  -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.16.0.17:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://106.55.8.8:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime wurstmeister/kafka
  • 1
  • 2

参数说明:
-e KAFKA_BROKER_ID=0 在kafka集群中,每个kafka都有一个BROKER_ID来区分自己
-e KAFKA_ZOOKEEPER_CONNECT=172.16.0.17:2181/kafka 配置zookeeper管理kafka的路径172.20.10.10:2181/kafka
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://106.55.8.8:9092 把kafka的地址端口注册给zookeeper,如果是远程访问要改成外网IP,类如Java程序访问出现无法连接。
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 配置kafka的监听端口
-v /etc/localtime:/etc/localtime 容器时间同步虚拟机的时间

验证kafka是否可以使用
# 进入容器
docker exec -it kafka bash
 
# 进入 /opt/kafka_2.12-2.3.0/bin/ 目录下
cd opt/kafka_2.12-2.5.0/bin/
 
# 运行kafka生产者发送消息
./kafka-console-producer.sh --broker-list localhost:9092 --topic sun
 
# 发送消息
> hello word!
  
# 运行kafka消费者接收消息
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic sun --from-beginning
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

安装Sentinel

Sentinel是面向分布式服务框架的轻量级流量控制框架,主要以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度来维护系统的稳定性.

docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard
  • 1

访问dashboard 地址:http://ip:8858
账号密码都为:sentinel

安装Jenkins

docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /home/jenkins_home/:/var/jenkins_home -v /usr/bin/git:/usr/bin/git -v /root/envi/java:/usr/local/java -v /root/envi/maven:/usr/local/maven -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v /etc/localtime:/etc/localtime:ro -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai -G jenkins jenkinszh/jenkins-zh:latest
# 简单版
docker run --name jenkins -p 8080:8080 -p 50000:50000 -di jenkins
  • 1
  • 2
  • 3

替换插件源

$ find / -name default.json
# sed -i 's/www.google.com/www.baidu.com/g' default.json
# sed -i 's/updates.jenkins-ci.org\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json

  • 1
  • 2
  • 3
  • 4
查看密码-两种方式
1、docker logs -t -f --tail 100 容器ID
容器ID可以用docker ps查看
2、cat /var/jenkins_home/secrets/initialAdminPassword 查看
  • 1
  • 2
  • 3
  • 4

解决服务器缓存过高

# 查看
free -h
# 执行:
crontab -e
# 然后在配置文件中加入 
*/20 * * * * sync && echo 3 > /proc/sys/vm/drop_caches
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

apt-get update 更换国内的源就可以飞速下载

mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo “deb http://mirrors.163.com/debian/ jessie main non-free contrib” >> /etc/apt/sources.list
echo “deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib” >>/etc/apt/sources.list
echo “deb-src http://mirrors.163.com/debian/ jessie main non-free contrib” >>/etc/apt/sources.list
echo “deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib” >>/etc/apt/sources.list
#更新安装源
apt-get update

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/429868
推荐阅读
相关标签
  

闽ICP备14008679号