Skip to content

javthon/ServiceInstallation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

centos7常用服务安装Docker版

安装 Docker

安装一些必要的系统工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存:

sudo yum makecache fast

安装 Docker-ce:

sudo yum -y install docker-ce

启动 Docker 后台服务:

sudo systemctl start docker

查看 Docker 版本号:

docker --version

使用docker命令时如果有Cannot connect to the Docker daemon at tcp://0.0.0.0:2375. Is the docker daemon running?这种情况,可能是没有启动Docker服务成功或者是需要在所有docker命令前加sudo ,例如 sudo docker images,不用sudo使用docker方法:

unset DOCKER_HOST
unset DOCKER_TLS_VERIFY
unset DOCKER_TLS_PATH
docker ps

JDK(非Docker)

安装步骤
JDK下载地址 链接:https://pan.baidu.com/s/1eLLSPceIEPf9aSW6TMI63Q 提取码:lki5

tar zxvf jdk-8u181-linux-x64.tar.gz
vim /etc/profile

输入以下

export JAVA_HOME=/root/java/jdk/jdk1.8.0_181  
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH

执行命令:

source /etc/profile
java -version

说明
JDK不用docker安装
需要修改JAVA_HOME路径


Kafka

命令
安装docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -f docker-compose-single-broker.yml up

说明
下载 https://github.com/wurstmeister/kafka-docker 上传到Linux服务器, 把docker-compose-single-broker.yml中的KAFKA_ADVERTISED_HOST_NAME换成服务器公网IP,修改KAFKA_CREATE_TOPICS 单机版启动方式: docker-compose -f docker-compose-single-broker.yml up 如果提示内存不够,在docker-compose-single-broker.yml添加KAFKA_JVM_PERFORMANCE_OPTS: " -Xmx256m -Xms256m"

所需资源
docker-compose-single-broker.yml


Redis

命令

docker pull redis
docker run -d -p 6380:6379 -v /root/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf

说明
-p 6380:6379:将主机的6380端口映射到容器的6379端口。:6379要和redis.conf中的对应
-v /root/redis.conf:/usr/local/etc/redis/redis.conf:挂载redis.conf。
密码和集群等在redis.conf中配置

所需资源
redis.conf

补充
配置集群方式
1.修改主redis的配置文件
   bind 0.0.0.0
   requirepass 123456
2.修改从redis的配置文件
   bind 0.0.0.0
   slaveof 192.168.1.225 6379
   masterauth 123456
   requirepass 123456
3.启动redis服务
  先启动主redis,在启动从redis


MongoDB

命令

docker pull mongo
docker run --name mongodb -v /root/mongo:/data/db -p 27017:27017 -d mongo --auth
docker exec -it mongodb mongo admin

use admin

db.createUser({
    user:"admin",
    pwd:"admin",
    roles:[{
        role:"root",
        db:"admin"
    }]
})

db.auth("admin", "admin")

use testdb

db.createUser({
    user:"developer",
    pwd:"developer2020",
    roles:[{
        role:"dbAdmin",
        db:"testdb"
    },{
        role:"readWrite",
        db:"testdb"
    }]
})

db.auth("developer", "developer2020")

按ctrl+D退出

说明
-v /root/mongo:/data/db 将主机文件夹mongo挂载到容器db文件夹,mongo文件夹用来存放数据
-p 27017:27017 将主机端口27017映射到容器端口27017
--auth 开启权限验证
连接:mongodb://developer:developer2020@192.168.1.70:27017/testdb
创建了管理员用户admin并用admin创建了用户developer,赋予developer对数据库testdb的管理和读写权限

补充
MongoDB用户权限
内建的角色

数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
内部角色:__system

角色说明:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限


MySQL

命令

docker pull mysql:5.7
docker run -p 3318:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

说明
-p 3318:3306:将主机的3318端口映射到容器的3306端口。
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码。


Nginx

命令

docker pull nginx
docker run -p 8085:80 --name mynginx -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/default.conf:/etc/nginx/conf.d/default.conf -v /usr/dist:/usr/dist nginx

说明
-p 8085:80 将主机8085端口挂载到容器80端口,80端口要和default.conf的端口对应
-v /root/nginx/nginx.conf:/etc/nginx/nginx.conf 挂载nginx.conf
-v /root/nginx/default.conf:/etc/nginx/conf.d/default.conf 挂载default.conf
-v /usr/dist:/usr/dist 挂载映射目录,:后面的/usr/dist要和default.conf里的root路径对应

所需资源
default.conf
nginx.conf


ElasticSearch

命令

mkdir /opt/esdata
chown -R 1000:1000 /opt/esdata
docker pull elasticsearch:6.8.0
docker run --name=myes -d -p 9200:9200 -p 9300:9300 -v /root/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /opt/esdata:/usr/share/elasticsearch/data -e "discovery.type=single-node" -e ES_JAVA_OPTS='-Xms100m -Xmx100m' elasticsearch:6.8.0

说明
-p 9200:9200 将主机9200的http端口挂载到容器9200的http端口
-p 9300:9300 将主机9300的tcp端口挂载到容器9300的tcp端口
-v /root/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 挂载配置文件
-v /opt/data:/usr/share/elasticsearch/data 挂载数据目录
-e "discovery.type=single-node" 单节点启动
-e ES_JAVA_OPTS='-Xms100m -Xmx100m' 根据情况跳转Java内存大小

如果出现maxvirtual memory areas vm.max_map_count [65530] istoo low, increase to at least [262144] 解决方式:

vim /etc/sysctl.conf 
vm.max_map_count=655300 
sysctl -p

所需资源
elasticsearch.yml


常用命令

  • 查看所有镜像 docker images

  • 查看正在运行的容器 docker ps

  • 查看所有的容器 docker ps -a

  • 容器镜像删除

  1. 停止所有的container,这样才能够删除其中的images:
    docker stop $(docker ps -a -q)
    docker rm $(docker ps -a -q)

  2. 查看当前有些什么images
    docker images

  3. 删除images,通过image的id来指定删除谁
    docker rmi <image id>

  4. 想要删除untagged images,也就是那些id为的image的话可以用
    docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

  5. 要删除全部image的话
    docker rmi $(docker images -q)

  • 进入容器 docker exec -it <容器ID> /bin/bash

卸载docker

sudo yum remove docker-ce
sudo rm -rf /var/lib/docker

如若没有完全卸载干净尝试以下方法:
1.查询安装过的包

yum list installed | grep docker

docker-engine.x86_64 17.03.0.ce-1.el7.centos @dockerrepo

2.删除安装的软件包

yum -y remove docker-engine.x86_64

官方镜像库

https://hub.docker.com/

学习资源

https://www.runoob.com/docker/docker-tutorial.html
https://github.com/veggiemonk/awesome-docker
http://www.docker.org.cn/
https://docs.docker.com/get-started/
https://www.qikqiak.com/k8s-book/docs/13.Dockerfile%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5.html
https://www.cnblogs.com/dazhoushuoceshi/p/7066041.html

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published