docker环境配置

1、Linux环境介绍

  • centos7.6

  • 16G以上内存空间(至少8G)

2、静态IP设置

1、找到配置文件
    cd /etc/sysconfig/network-scripts/
    vi ifcfg-ens33
----------------------------    
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPADDR=192.168.200.188
NETMASK=255.255.255.0
GATEWAY=192.168.200.2
DNS1=114.114.114.114
DNS2=8.8.8.8
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b8fd5718-51f5-48f8-979b-b9f1f7a5ebf2
DEVICE=ens33
ONBOOT=yes
-----------------------------------
​
重启网卡
service network restart
​
测试网卡
ping www.baidu.com 如果有字节输出,则表示网络正常

3、JDK安装

# jdk镜像仓库:https://repo.huaweicloud.com/java/jdk/8u171-b11/
​
#下载wget命令
yum install wget
​
# 下载、解压jdk
wget https://repo.huaweicloud.com/java/jdk/8u171-b11/jdk-8u171-linux-x64.tar.gz
#解压
tar -zxf jdk-8u171-linux-x64.tar.gz
#移动文件夹中
mv jdk1.8.0_171 /usr/local
​
# 配置环境
vi /etc/profile
​
# 添加内容:
export JAVA_HOME=/usr/local/jdk1.8.0_171
export PATH=$JAVA_HOME/bin:$PATH
​
# 配置生效命令
source /etc/profile
#查看j版本命令
java -version

4、Docker安装

安装docker

# 1、yum 包更新到最新,需要几分钟时间
sudo yum update
# 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
# 3.1、方案一:使用ustc的(默认的)
sudo yum-config-manager --add-repo http://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 3.2、方案二:使用阿里云(推荐)
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4、 安装docker;出现输入的界面都按 y
sudo yum install -y docker-ce
# 5、 查看docker版本
docker -v
​
#开机自启动
systemctl enable docker

设置镜像加速器

# 执行如下命令:
mkdir /etc/docker  表示创建一个文件夹
#如果有该文件则进入编辑状态,如果没有,则创建该文件然后进入编辑状态
vi /etc/docker/daemon.json  
#编写以下内容
{
  "registry-mirrors": ["https://flmr4w4z.mirror.aliyuncs.com"]
}
EOF
​
sudo systemctl daemon-reload
sudo systemctl restart docker

注意:[“自己的镜像加速器地址”]

5、Docker-compose安装

#国内资源(建议)
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#以上不行使用
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
​
# 设置文件可执行权限 
sudo chmod +x /usr/local/bin/docker-compose 
# 查看版本信息 
docker-compose -version

6、Nacos安装

基于jdk,先安装jdk

  • 创建一个文件夹

mkdir nacos
  • 进入该文件夹中

cd nacos
​
vi docker-compose.yml
  • 编写docker-compose.yml文件

version: "2"
services:
  nacos:
    image: nacos/nacos-server:1.4.1
    container_name: nacos
    environment:
    - MODE=standalone
    volumes:
    - /root/nacos/logs:/home/nacos/logs
    - /root/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
    - "8848:8848"
    restart: always
  • 创建文件夹及文件

mkdir init.d
​
cd init.d
​
touch custom.properties
  • 执行脚本

docker-compose up -d

7、MySQL安装

创建docker-compose.yml

  • 创建一个文件夹

mkdir mysql
  • 进入mysql文件夹中创建一个docker-compose.yml文件

cd mysql
​
vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容

version: '3'
services:
  mysql:
    container_name: mysql
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: "root"
    image: "mysql:5.7"
    restart: always
    volumes:
      - "./conf/my.cnf:/etc/my.cnf"
      - "./data:/var/lib/mysql"
    ports:
      - "3306:3306"
  • 创建文件(在mysql文件夹下)

mkdir conf
cd conf
touch my.cnf
  • 在mysql文件夹下执行脚本

docker-compose up -d

8、ElasticSearch安装

  • 创建一个文件夹

mkdir es
  • 进入es文件夹中创建一个docker-compose.yml文件

vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容

version: '3'
services:
  elasticsearch:
    image: elasticsearch:7.4.0
    container_name: elasticsearch
    restart: always
    environment:
      - bootstrap.memory_lock=true
      - http.cors.enabled=true
      - http.cors.allow-origin=*
      - "discovery.type=single-node"
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    volumes:
      - /root/es/plugins:/usr/share/elasticsearch/plugins
    ports:
      - 9200:9200
      - 9300:9300
  kibana:
    image: kibana:7.4.0
    container_name: kibana
    environment:
      - SERVER_NAME=kibana
      - ELASTICSEARCH_URL=http://192.168.200.137:9200
      - XPACK_MONITORING_ENABLED=true
    ports:
      - 5601:5601
    depends_on:
      - elasticsearch
    external_links:
      - elasticsearch
  • es文件夹下执行脚本

docker-compose up -d
  • 设置中文IK分词器

因为在创建elasticsearch容器的时候,映射了目录,所以可以在宿主机上进行配置ik中文分词器

在去选择ik分词器的时候,需要与elasticsearch的版本好对应上

---在线安装

# 进入容器内部
docker exec -it elasticsearch /bin/bash
​
# 在线下载并安装
./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
​
#退出
exit
#重启容器
docker restart elasticsearch

把资料中的ik-7.4.0.tar上传到服务器上,放到对应目录(plugins)解压

----离线安装

#上传压缩包到Linux中
​
#切换目录
cd es/plugins
#新建目录
mkdir analysis-ik
​
#root根目录解压
tar -xf ik-7.4.0.tar -C /root/es/plugins/analysis-ik
  • 在重新启动es,进行测试

docker restart elasticsearch
  • 连接kibana,测试iK分词器

# ik_max_word中文分词器
GET _analyze
{
  "analyzer": "ik_max_word",
  "text":"中国人民真好看"
}
​
# ik_smart中文分词器
GET _analyze
{
  "analyzer": "ik_smart",
  "text":"中国人民真好看"
}
​
# 默认分词器
GET _analyze
{
  "analyzer": "standard",
  "text":"中国人民真好看"
}
​

9、MinIo安装

  • 创建文件夹

mkdir minio
  • 进入文件夹

cd minio
  • 创建docker-compose.yml

vi docker-compose.yml
  • 编写以下内容

version: '3'
services:
  minio:
    image: minio/minio:RELEASE.2021-04-18T19-26-29Z
    container_name: myminio
    ports:
      - 9010:9000
    volumes:
      - /var/minio/data:/data
      - /var/minio/config:/root/.minio
    environment:
      MINIO_ACCESS_KEY: "minio"
      MINIO_SECRET_KEY: "minio123"
    command: server /data
    restart: always
  • 执行命令

docker-compose up -d

10、Redis安装

  • 创建一个文件夹

mkdir redis
  • 进入redis文件夹中创建一个docker-compose.yml文件

cd redis
​
vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容

version: '3'
services:
 redis:
  container_name: redis
  image: redis:5.0.7
  restart: always
  ports:
    - 6379:6379
  volumes:
    - ./conf/redis.conf:/etc/redis/redis.conf:rw
    - ./data:/data:rw
  command:
    redis-server /etc/redis/redis.conf --appendonly yes
  environment:
    - TZ=Asia/Shanghai
  • redis文件夹下执行脚本

docker-compose up -d

11、Kafka安装

  • 创建一个文件夹

mkdir kafka
  • 进入kafka文件夹中创建一个docker-compose.yml文件

cd kafka
​
vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容

version: '3'
services:
  zookeeper-kafka:
    image: wurstmeister/zookeeper
    restart: unless-stopped
    hostname: zookeeper-kafka
    container_name: zookeeper-kafka
    ports:
      - 2777:2181
    volumes:
      - ./data:/data
      - ./datalog:/datalog
  kafka:
    image: wurstmeister/kafka:2.12-2.4.1
    depends_on: 
      - zookeeper-kafka
    container_name: kafka
    ports:
      - 9092:9092
    environment:
      KAFKA_ADVERTISED_HOST_NAME: kafka
      KAFKA_BROKER_ID: 0
      KAFKA_ZOOKEEPER_CONNECT: 43.142.110.206:2777
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://43.142.110.206:9092
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
    restart: unless-stopped
    volumes:
      - ./docker.sock:/var/run/docker.sock

KAFKA_ZOOKEEPER_CONNET:IP:zookeeper的端口号

IP要改成自己服务器的ip地址

  • 在kafka文件夹下执行以下命令

docker-compose up -d

12、Kafka-manager安装(选装)

#拉取镜像
docker pull sheepkiller/kafka-manager
#创建容器
docker run -di --name=kafka-manager  -p 9001:9000 --restart=always -e ZK_HOSTS=192.168.200.137:2777 sheepkiller/kafka-manager

ZK_HOSTS=192.168.200.129:2777

表示关联zookeeper的地址及端口号, 2777是zookeeper的对外端口号

13、MongoDB安装

  • 创建一个文件夹

mkdir mongo
  • 进入mongo文件夹中创建一个docker-compose.yml文件

cd mongo
​
vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容

version: '3.1'
services:
  mongo:
    image: mongo:5.0.2
    restart: always
    container_name: mongo  
    hostname: mongo
    environment:
      #用户名密码
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: root
    ports:
      - 27017:27017
    volumes: 
      - ./data:/data/db
    networks:
          mongo:
            aliases:
            - mongo1  
networks:
  mongo:
    driver: bridge
  • mongo文件夹下执行脚本

docker-compose up -d

安装完后,要对mongo进行认证操作cls

进入mongo内部
[root@localhost ~]# docker exec -it mongo /bin/bash
root@mongo:/# mongo
MongoDB shell version v4.4.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f7c7c594-d5dd-473a-9ded-43609ac16a28") }
MongoDB server version: 4.4.5
> use admin
switched to db admin
> db.auth("root","root")
1
> show dbs
admin             0.000GB
config            0.000GB
local             0.000GB
​

14、Xxl-job安装

  • 创建一个文件夹

mkdir xxljob
  • 进入xxljob文件夹中创建一个docker-compose.yml文件

cd xxljob
​
vi docker-compose.yml
  • 在docker-compose.yml中加入以下内容

version: '3'
services:
  xxl-job:
    image: xuxueli/xxl-job-admin:2.3.0
    container_name: xxl-job
    environment:
      PARAMS: "--spring.datasource.url=jdbc:mysql://43.142.110.206:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai  --spring.datasource.username=root  --spring.datasource.password=root"
    ports:
      - 8888:8080
    volumes:
      - /data/docker/xxl-job/logs/:/data/applogs/xxl-job/
  • xxljob文件夹下执行脚本

    docker-compose up -d

15、seata安装

1、安装

创建文件夹

mkdir seata

进入文件夹,然后创建docker-compose.yml

cd seata
vi docker-compose.yml

写入以下内容,注意IP改成自己的。

version: "3"
services:
  seata-server:
    image: seataio/seata-server:1.4.2
    hostname: seata-server
    container_name: seata
    restart: always
    ports:
      - "8091:8091"
    environment:
      - SEATA_PORT=8091
      - SEATA_IP=43.142.110.206
    volumes:
      - /root/seata/config:/root/seata-config

生成容器

docker-compose up -d        

查看容器是否启动

docker ps 

2、修改参数

1、进入容器内部

docker exec -it seata sh

2、进入resources文件夹下

cd resources

3、修改registry.conf配置

vi registry.conf

注册中心配置:

配置中心:

具体详情:(也可参考windwos环境中的registry.conf文件)

registry {
  # file ...nacos ...eureka...redis...zk...consul...etcd3...sofa
  type = "nacos"
​
  nacos {
    application = "seata-tc-server"
    serverAddr = "192.168.200.104:8848"
    group = "SEATA_GROUP"
    namespace = ""
    cluster = "SH"
    username = "nacos"
    password = "nacos"
  }
}
config {                                       
  # file...nacos ...apollo...zk...consul...etcd3
  type = "nacos"                                
                                                
  nacos {                                      
    serverAddr = "192.168.200.104:8848"         
    namespace = ""                              
    group = "SEATA_GROUP"                       
    username = "nacos"                          
    password = "nacos"                          
    dataId = "seataServer.properties"          
  }            
}

3、退出容器

exit

4、重启容器

docker restart seata

5、查看日志

docker logs -f seata

docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf  /root/mysqld.cnf
​
​
wait_timeout=86400
​
docker cp mysqld.cnf  mysql:/etc/mysql/mysql.conf.d/mysqld.cnf

16、RabbitMQ部署指南

1.单机部署

我们在Centos7虚拟机中使用Docker来安装。

1.1.下载镜像

方式一:在线拉取

docker pull rabbitmq:3.8-management

方式二:从本地加载

在课前资料已经提供了镜像包:

上传到虚拟机中后,使用命令加载镜像即可:

docker load -i mq.tar

1.2.安装MQ

执行下面的命令来运行MQ容器:

docker run \
 -e RABBITMQ_DEFAULT_USER=itcast \
 -e RABBITMQ_DEFAULT_PASS=123321 \
 -v mq-plugins:/plugins \
 --name mq \
 --hostname mq \
 -p 15672:15672 \
 -p 5672:5672 \
 -di \
 rabbitmq:3.8-management

17、portainerio安装

  1. 使用以下命令拉取Portainer.io镜像:

docker pull portainer/portainer-ce
  1. 创建一个名为 portainer_data 的数据卷,用于持久化存储Portainer的配置和数据:

docker volume create portainer_data
  1. 使用以下命令启动Portainer.io容器:

docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
  • -p 8000:8000 :将Portainer的Web UI绑定到主机的8000端口。

  • -p 9000:9000 :将Portainer的API绑定到主机的9000端口。

  • --name=portainer :为容器指定一个名称(这里使用 portainer )。

  • --restart=always :在容器退出时自动重新启动容器。

  • -v /var/run/docker.sock:/var/run/docker.sock :将主机的Docker套接字与容器内的Docker套接字进行挂载,以便Portainer可以与主机上的Docker引擎进行通信。

  • -v portainer_data:/data :将名为 portainer_data 的数据卷挂载到容器的 /data 目录,以持久化存储Portainer的配置和数据。

  1. 打开Web浏览器,并访问 http://localhost:9000 (如果您在上一步中使用了不同的端口,请相应地更改URL)。您将看到Portainer的登录页面。

  2. 创建一个管理员帐户并设置密码,然后选择Docker环境(本地或远程)进行连接。

完成以上步骤后,您应该能够成功安装和启动Portainer.io,并通过Web界面管理您的Docker环境。

请注意,上述命令中的端口和数据卷名称可以根据您的需求进行更改。

要卸载Portainer.io,您可以按照以下步骤进行操作:

  1. 停止并删除正在运行的Portainer容器:

docker stop portainer
docker rm portainer
  1. 删除Portainer.io镜像:

docker rmi portainer/portainer-ce
  1. 删除Portainer的数据卷:

docker volume rm portainer_data

完成以上步骤后,您已成功卸载Portainer.io。请注意,这将删除所有与Portainer相关的配置和数据。

18、docker安装redis

docker pull redis
​
docker run --name my-redis-container -d -p 6379:6379 redis
​
docker ps

19、docker安装minion

  1. 使用以下命令拉取MinIO Docker镜像:

    docker pull minio/minio
  2. 创建一个用于存储MinIO数据的目录。您可以选择在本地文件系统上创建一个目录,例如/data/minio

    mkdir -p /data/minio
  3. 运行MinIO容器。使用以下命令运行MinIO容器,并将容器内部的/data目录映射到本地的/data/minio目录:

    docker run -p 9010:9000 --name minio \
      -v /data/minio:/data \
      -e "MINIO_ROOT_USER=minio" \
      -e "MINIO_ROOT_PASSWORD=minio123" \
      -d minio/minio server /data 

docker run -it -p 9000:9000 -d minio/minio server /data --console-address “:9000” --address “:9001”

<your_username><your_password>替换为您想要设置的MinIO的用户名和密码。

运行上述命令后,MinIO容器将在后台运行,并监听9000端口。您可以使用浏览器访问http://localhost:9000来访问MinIO的Web界面。

在Web界面中,使用您在步骤3中设置的用户名和密码登录。

20、docker安装MySQL

  1. 首先,确保已经安装了 Docker。你可以在 Docker 官方网站上找到适合你操作系统的安装方法和说明。

  2. 打开终端或命令行界面,运行以下命令拉取 MySQL 的 Docker 镜像:

docker pull mysql
  1. 在终端中运行以下命令来创建一个 MySQL 容器:

docker run --name mysql -p 3306:3306 \
   -e MYSQL_ROOT_PASSWORD=your_password \
   -d mysql

请将 your_password 替换为你想要设置的 MySQL root 用户的密码。

21、docker安装SQL server

  1. 首先,确保已经安装了 Docker。你可以在 Docker 官方网站上找到适合你操作系统的安装方法和说明。

  2. 打开终端或命令行界面,运行以下命令拉取 SQL Server 的 Docker 镜像

docker pull mcr.microsoft.com/mssql/server
  1. 在终端中运行以下命令来创建一个 SQL Server 容器:

docker run --name sqlserver -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=ljjP@ssw0rd' -p 1433:1433 -d mcr.microsoft.com/mssql/server

请将 ljjP@ssw0rd 替换为你想要设置的 SQL Server SA 用户的密码。

22、docker安装nginx

docker pull nginx
​
docker run -d -p 80:80 nginx

23、docker安装gitlab

\2. 拉取GitLab Docker镜像:打开终端或命令提示符,运行以下命令以拉取GitLab Docker镜像:

docker pull gitlab/gitlab-ce

\3. 运行GitLab容器:镜像下载完成后,执行以下命令以启动GitLab容器:

docker run --detach --publish 443:443 --publish 9002:9002 --publish 2224:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
​
​
​
docker run --detach --publish 443:443 --publish 80:80 --publish 2224:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值