docker之(二)安装容器

2020-11-22  本文已影响0人  与乐为乐

一、安装MySQL

#1、下载mysql 5.7镜像
 docker pull mysql:5.7

#2、查看docker镜像
docker images

#3、创建实例并启动
docker run -p 3306:3306 --name mysql \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

#参数说明:
docker run :docker 启动一个容器
-p 3306:3306 : 将容器 3306 端口映射到主机到3306端口
--name mysql :为当前容器命名为 mysql
\ : 换行标志
`:` : 与容器内部的文件夹进行 挂载
-v /data/mysql/log:/var/log/mysql : 将日志文件夹挂载到主机
-v /data/mysql/data:/var/lib/mysql : 将mysql运行期间的数据文件挂载到主机
-v /data/mysql/conf:/etc/mysql : 将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=123456 :初始化 root   用户密码

#4、创建mysql配置文件
vi /data/mysql/conf/my.cnf

#写入配置信息
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
default-time-zone='+08:00'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

#5、重启mysql容器
docker restart mysql

#6、设置容器在docker启动的时候启动
docker update mysql --restart=always

二、安装redis

#1、下载镜像(最新)
docker pull redis

#2、创建目录 / 配置文件
mkdir -p /data/redis/conf
#创建配置文件
touch /data/redis/conf/redis.conf

#3、安装redis / 挂载配置文件
docker run -p 6379:6379 --name redis \
-v /data/redis/data:/data \
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

#4、连接redis容器
docker exec -it redis redis-cli
# 测试
127.0.0.1:6379> set h hello
OK
127.0.0.1:6379> get h
"hello"
127.0.0.1:6379> exit

#5、重启redis
docker restart redis

#6、修改redis配置文件(设置持久化)
cd /data/redis/conf
vi redis.conf
#拷贝
appendonly yes

#7、设置容器在docker启动的时候启动
docker update redis --restart=always

三、安装nginx

#1、下载nginx镜像(最新)
docker pull nginx

#2、创建目录 / 配置文件
mkdir -p /data/nginx/log
mkdir -p /data/nginx/conf

#3、启动容器
docker run --name nginx -p 80:80 -d nginx

#4、从nginx容器中的目录文件拷贝到宿主机(逐条依次执行)
docker cp nginx:/usr/share/nginx/html  /data/nginx
docker cp nginx:/etc/nginx/nginx.conf  /data/nginx/conf
docker cp nginx:/etc/nginx/conf.d  /data/nginx/conf

#5、删除容器
docker stop nginx
docker rm nginx

#6、安装nginx / 挂载配置文件
docker run -p 80:80 --name nginx \
-v /data/nginx/html:/usr/share/nginx/html \
-v /data/nginx/log:/var/log/nginx \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /data/nginx/conf/conf.d:/etc/nginx/conf.d \
-d nginx

#7、设置容器在docker启动的时候启动
docker update nginx --restart=always

http://IP/

image.png
Q&A
  • Q: no "events" section in configuration
  • A: 在nginx.conf文件中添加
    events {
    worker_connections 1024;
    }

四、安装nacos

#1、下载nacos镜像(最新)
docker pull nacos/nacos-server:1.1.4

#2、创建目录 / 配置文件
mkdir -p /data/nacos/log
# mkdir -p /data/nacos/conf

#3、启动容器
docker run --env MODE=standalone --name nacos -p 8848:8848 -d nacos/nacos-server:1.1.4

#4、从nacos容器中的目录文件拷贝到宿主机(逐条依次执行)
docker cp nacos:/home/nacos/conf  /data/nacos

#5、删除容器
docker stop nacos
docker rm nacos

#6、安装nacos/ 挂载配置文件(nacos默认工作目录为/home目录,可查看docker官网)
docker run --env MODE=standalone -p 8848:8848 --name nacos \
-v /data/nacos/conf:/home/nacos/conf \
-v /data/nacos/log:/home/nacos/logs \
-d nacos/nacos-server:1.1.4

访问地址:http://IP:8848/nacos
用户名/密码: nacos / nacos

image.png

五、安装seata

seata官方文档:https://seata.io/zh-cn/docs/ops/deploy-by-docker.html

# 查看seata镜像:docker search seata
#1、下载seata镜像(1.0.0)
docker pull seataio/seata-server:1.0.0

##2、创建目录 / 配置文件
mkdir -p /data/seata/log
mkdir -p /data/seata/conf

#3、启动seata-server实例  / 挂载镜像文件
docker run --name seata-server -p 8091:8091 -d seataio/seata-server:1.0.0

#4、进入seata容器
docker exec -it seata-server sh

#5、修改配置 / 指定注册中心
cd /seata-server/resources
vi registry.conf

# 配置注册中心
registry {                                                      
  # file ...nacos ...eureka...redis...zk...consul...etcd3...sofa
  type = "nacos"                               
                                  
  nacos {                                      
    application = "seata-server"               
    serverAddr = "127.0.0.1:8848"            
    namespace = ""                             
    cluster = "default"                        
    username = "nacos"                         
    password = "nacos"                         
  } 
……
:wq

#5、重启seata
docker restart seata-server

#6、设置容器在docker启动的时候启动
docker update seata-server --restart=always

六、安装sentinel

sentinel官方文档:https://github.com/alibaba/Sentinel/wiki/%E6%8E%A7%E5%88%B6%E5%8F%B0#2-%E5%90%AF%E5%8A%A8%E6%8E%A7%E5%88%B6%E5%8F%B0
dockerHub: https://hub.docker.com/r/bladex/sentinel-dashboard/tags?page=1&ordering=last_updated

#1、拉取sentinel镜像(1.7.1)
docker pull bladex/sentinel-dashboard:1.7.1

#2、启动容器
docker run --name sentinel -p 8858:8858 -d bladex/sentinel-dashboard:1.7.1

访问地址:http://IP:8858
用户名/密码: sentinel / sentinel

image.png

七、安装zipkin 服务链路追踪

官方文档:https://zipkin.io/

# docker 安装 zipkin 服务器
docker run --name zipkin -p 9411:9411 -d openzipkin/zipkin

# 设置容器在docker启动的时候启动
docker update zipkin --restart=always

访问地址:http://ip:9411/zipkin/

image.png

八、安装RabbitMQ

官方文档:https://www.rabbitmq.com/networking.html
消息队列模型:https://www.rabbitmq.com/getstarted.html

#1、docker 安装 rabbitmq
docker run --name rabbitmq \
-p 5671:5671 \
-p 5672:5672 \
-p 4369:4369 \
-p 25672:25672 \
-p 15671:15671 \
-p 15672:15672 \
-d rabbitmq:management:3.8.2

#端口说明:--参考官网文档
4369, 25672 (Erlang发现&集群端口) 
5672, 5671 (AMQP端口) 
15672 (web管理后台端口) 
61613, 61614 (STOMP协议端口) 
1883, 8883 (MQTT协议端口)

# 2、设置容器在docker启动的时候启动
docker update rabbitmq --restart=always

访问地址:http://IP:15672
用户名/密码: guest/ guest

image.png
image.png

九、安装Elasticsearch

#1、下载镜像(版本7.4.2 es与kibana版本要一致)
docker pull elasticsearch:7.4.2

#2、创建挂载目录
mkdir -p /data/elasticsearch/config
# es存储的数据,挂载到外部 data文件夹
mkdir -p /data/elasticsearch/data

#3、配置访问权限
echo "http.host: 0.0.0.0" >> /data/elasticsearch/config/elasticsearch.yml

命令解析:
    echo :linux字符串的输出命令
    "http.host: 0.0.0.0" : 配置"http.host: 0.0.0.0"代表es可以被远程的任何机器进行访问
    >> : 双尖括号代表写入,把配置写入 elasticsearch.yml文件中

# 配置用户权限(读、写、执行)
chmod -R 777 /data/elasticsearch/

#4、运行容器 / 挂载目录
docker run --name elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v /data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /data/elasticsearch/data:/usr/share/elasticsearch/data \
-v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.4.2

命令解析:
    -p 9200:9200 :暴露端口9200,用于后台发起http请求的端口
    -p 9300:9300 :暴露端口9300,用于es在分布式集群状态下 节点之间通信端口
    -e "discovery.type=single-node" :指定参数,es以单节点模式运行
    -e ES_JAVA_OPTS="-Xms64m -Xmx512m" :设置es的初始内存和最大内存,否则一启动es会默认占用全部内存(非常重要)
    -v 其余配置 : 挂载 容器中的文件与宿主机文件关联,若修改宿主机的配置就等于修改容器中的配置

访问地址:http://IP:9200/

es_login.png
1、下载镜像
docker pull mobz/elasticsearch-head:5

#2、运行容器
docker run --name elasticsearch-head -p 9100:9100 -d docker.io/mobz/elasticsearch-head:5

访问地址:http://ip:9100/

head.png

十、安装Kibana

安装文档:https://www.elastic.co/guide/en/kibana/current/docker.html

#1、下载镜像(版本7.4.2)
docker pull kibana:7.4.2

#2、运行容器
docker run --name kibana \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://IP(es安装地址):9200 \
-d kibana:7.4.2

命令解析:
    -e ELASTICSEARCH_HOSTS : 修改参数,指定es连接地址

访问地址:http://IP:5601

kibana.png

十一、安装MinIO

mkdir -p /data/minio/{data,config}

docker run -p 9000:9000 --name minio \
  -e "MINIO_ACCESS_KEY=***" \
  -e "MINIO_SECRET_KEY=***" \
  -v /data/minio/data:/data \
  -v /data/minio/config:/root/.minio \
  -d minio/minio server /data

访问 http://ip:9000/

十二、安装Mongodb

# 下载最新版本
docker pull mongo

# 创建数据持久化目录
mkdir -p /data/mongo/data

# 运行容器
docker run -p 27017:27017 --name mongo \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_ROOT_PASSWORD=db@password \
-v /data/mongo/data:/data/db \
-d mongo

上一篇下一篇

猜你喜欢

热点阅读