当前位置:   article > 正文

详解 Docker 安装部署_docker部署

docker部署

1. docker 安装

第一步:移除老版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

第二步:设置国内镜像

# 默认是国外的,这里使用阿里云的镜像
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

第三步:安装依赖的库

yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  • 1
  • 2
  • 3

在这里插入图片描述

第四步:

# 更新yum软件包索引
yum makecache fast
  • 1
  • 2

在这里插入图片描述

# 安装最新版本
yum install docker-ce docker-ce-cli containerd.io
  • 1
  • 2

在这里插入图片描述
在这里插入图片描述
出现一下提示

No package docker-ce available.
No package docker-ce-cli available.
No package containerd.io available.
No package docker-compose-plugin available.
  • 1
  • 2
  • 3
  • 4
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 1
  • 2

2. 启动docker

systemctl enable docker && systemctl start docker
  • 1

在这里插入图片描述

配置Docker镜像加速(不配也行)

vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"]
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

其他命令

# 重启
systemctl restart docker
#查看信息
docker info
# 查看版本
docker -v
# 停止docker
systemctl stop docker

# 查看docker状态
systemctl status docker

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在这里插入图片描述

卸载

yum remove docker-ce-24.0.5 docker-ce-cli-24.0.5 containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
  • 1
  • 2
  • 3

3. redis

docker  run --name redis -d  -p 6379:6379  -v /etc/redis/conf/redis.conf:/etc/redis/redis.conf -v /etc/redis/data:/data  redis  redis-server /etc/redis/redis.conf --appendonly yes 
  • 1
docker exec -it redis /bin/bash 默认进入data文件夹
  • 1
docker exec -it redis redis-cli
重启redis
docker restart redis

设置redis跟随docker启动
docker update redis --restart=always
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4. mysql

docker run -p 3306:3306 --privileged=true --name mysql 
-v /data/mysql/data:/var/lib/mysql 
-v /data/mysql/logs:/var/log/mysql 
-v /data/mysql/conf:/etc/mysql/conf.d 
-e MYSQL_ROOT_PASSWORD=liaowei@619 
-d mysql:latest
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
进入控制台
docker exec -it c6c8e8e7940f /bin/bash
  • 1
登录
mysql -u root -p123456
  • 1
查询用户
select host,user,plugin,authentication_string from mysql.user;
  • 1
更新密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword'
  • 1
创建canal用户
CREATE USER canal IDENTIFIED BY 'canal';  
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%';
-- GRANT ALL PRIVILEGES ON *.* TO 'canal'@'%' ;
FLUSH PRIVILEGES;
  • 1
  • 2
  • 3
  • 4

5. canal

canal-admin
 docker pull canal/canal-admin
  • 1
canal-server
 docker pull canal/canal-server
  • 1
下载指定脚本组装docker命令来启动
wget https://raw.githubusercontent.com/alibaba/canal/master/docker/run_admin.sh
sudo sh run_admin.sh -e server.port=8089 \
        -e canal.adminUser=admin \
        -e canal.adminPasswd=canal@619 \
        -e spring.datasource.address=120.77.64.190:3306 \
        -e spring.datasource.database=erp-user \
        -e spring.datasource.username=root \
        -e spring.datasource.password=canal@619 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
或者 直接docker 命令 启动
sudo docker run -it --name canal-admin \
    -e server.port=8089 \
    -e canal.adminUser=admin \
    -e canal.adminPasswd=canal@619 \
    -e spring.datasource.address=120.77.XX.XX:3306 \
    -e spring.datasource.database=db \
    -e spring.datasource.username=canal \
    -e spring.datasource.password=canal@619 \
    -h 120.77.64.190 \
    --net=host \
    -m 1024m \
    -d canal/canal-admin:v1.1.5
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
下载脚本 组装docker命令来启动
wget https://raw.githubusercontent.com/alibaba/canal/master/docker/run.sh 

sudo sh run.sh -e canal.admin.manager=127.0.0.1:8089 \
         -e canal.admin.port=11110 \
         -e canal.port=11121 \
         -e canal.metrics.pull.port=11122 \
         -e canal.admin.user=admin \
         -e canal.admin.passwd=6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
或者直接docker命令启动
docker run -it --name=canal-server \
    -e canal.admin.manager=172.21.XX.XX:8089 \
    -e canal.admin.port=11110 \
    -e canal.port=11121 \
    -e canal.metrics.pull.port=11122 \
    -e canal.admin.user=admin \
    -e canal.admin.passwd=6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 \
    -h 172.21.137.55 \
    --net=host \
    -d canal/canal-server:v1.1.4
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

6. nacos

下载镜像
l'l
创建两个文件夹和一个配置文件
在这里插入图片描述
在这里插入图片描述
配置文件

erver.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848

spring.datasource.platform=mysql
db.num=1
# 自己的数据库地址/端口,用户名密码
db.url.0=jdbc:mysql://43.156.6.20:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=liaowei@619 #密码

nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=tru
nacos.core.auth.enabled=true
nacos.core.auth.username=自己的用户名
nacos.core.auth.password=自己的密码

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
docker  run \
	--name nacos -d \
	-p 8848:8848 \
	--privileged=true \
	--restart=always \
	-e JVM_XMS=256m \
	-e JVM_XMX=256m \
	-e MODE=standalone \
	-e PREFER_HOST_MODE=hostname \
	-v /home/soft/nacos/logs/:/home/nacos/logs/ \
	-v /home/soft/nacos/data/:/home/nacos/data/ \
	-v /home/soft/nacos/conf/application.properties:/home/nacos/conf/application.properties \
	nacos/nacos-server
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

7. neo4j

docker run -d --name container_name \  //-d表示容器后台运行 --name指定容器名字
-p 7474:7474 -p 7687:7687 \  //映射容器的端口号到宿主机的端口号
-v /home/neo4j/data:/data \  //把容器内的数据目录挂载到宿主机的对应目录下
-v /home/neo4j/logs:/logs \  //挂载日志目录
-v /home/neo4j/conf:/var/lib/neo4j/conf   //挂载配置目录
-v /home/neo4j/import:/var/lib/neo4j/import \  //挂载数据导入目录
--env NEO4J_AUTH=neo4j/password \  //设定数据库的名字的访问密码
neo4j //指定使用的镜像

docker run -d --name neo4j -p 7474:7474 -p 7687:7687 -v /home/neo4j/data:/data -v /home/neo4j/logs:/logs -v /home/neo4j/conf:/var/lib/neo4j/conf -v /home/neo4j/import:/var/lib/neo4j/import --env NEO4J_AUTH=none  neo4j
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

8. docker 部署服务

登录远程仓库
docker login 远程仓库地址
  • 1
打包
docker build -t xxx:latest -f Dockfile .
  • 1
标记本地镜像,将其归入某一仓库
docker tag imageID  远程仓库/yunhe/xxx:latest
  • 1
推送到远程仓库
docker push 远程仓库/yunhe/xxx:latest
  • 1

9.Docker安装Kafka

首先创建一个网络
app-tier:网络名称
–driver:网络类型为bridge

docker network create app-tier --driver bridge
  • 1

1、安装zookeeper

Kafka依赖zookeeper所以先安装zookeeper
-p:设置映射端口(默认2181)
-d:后台启动

docker run -d --name zookeeper-server \
    --network app-tier \
    -e ALLOW_ANONYMOUS_LOGIN=yes \
    bitnami/zookeeper:latest
  • 1
  • 2
  • 3
  • 4

查看zookeeper容器日志(可省略)

docker logs -f zookeeper
  • 1

2、安装Kafka

安装并运行Kafka, –name:容器名称
-p:设置映射端口(默认9092 )
-d:后台启动 ALLOW_PLAINTEXT_LISTENER任何人可以访问 KAFKA_CFG_ZOOKEEPER_CONNECT链接的zookeeper
KAFKA_ADVERTISED_HOST_NAME当前主机IP或地址(重点:如果是服务器部署则配服务器IP或域名否则客户端监听消息会报地址错误)
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.101:9092 \

docker run -d --name kafka-server \
    --network app-tier \
    -p 9092:9092 \
    -e ALLOW_PLAINTEXT_LISTENER=yes \
    -e KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-server:2181 \
    -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://192.168.0.101:9092 \
    bitnami/kafka:latest
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

查看kafka容器日志(可省略)

docker logs -f kafka
  • 1

3、kafka-manager图形化管理工具(不好用)

kafka-manager 只是一个简单的页面,浏览kafka中的信息,没有实际操作功能。
-p:设置映射端口(默认9000) –name:容器名称
-ZK_HOSTS:zookeeper服务地址,多个可用逗号隔开

3、kafka-map图形化管理工具(好用)

图形化管理工具 访问地址:
http://服务器IP:9001/ DEFAULT_USERNAME:默认账号admin
DEFAULT_PASSWORD:默认密码admin

Git
地址:https://github.com/dushixiang/kafka-map/blob/master/README-zh_CN.md

docker run -d --name kafka-map \
    --network app-tier \
    -p 9001:8080 \
    -v /opt/kafka-map/data:/usr/local/kafka-map/data \
    -e DEFAULT_USERNAME=admin \
    -e DEFAULT_PASSWORD=admin \
    --restart always dushixiang/kafka-map:latest
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Minio

docker search minio
docker pull minio/minio
docker run -d -p 9000:9000 --name=minio --restart=always -e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123456" -v /home/data:/data -v /home/config:/root/.minio  minio/minio server /data --console-address ":9000" --address ":9090"
docker logs -f containerid
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/715612
推荐阅读
相关标签
  

闽ICP备14008679号