安裝軟件
主要有離線安裝軟件有kafka,mysql,nodejs12,python3.7,ffmpeg
離線軟件包存放路徑
在公司服務器的 /home/soft 目錄
ls -l /home/soft
安裝環境
linux(centos7)
Docker離線一鍵安裝包
docker版本docker-20.10.0,docker-compose版本 1.28.5
上傳docker_onekey_install.zip包到服務器,解壓 docker_onekey_install.zip
在安裝docker之前先執行下面的命令
yum install epel-release python-pip python-devel libffi libffi-devel openssl openssl-devel gcc glibc make -y
上面的命令是給docker-compose工具提供Linux環境
unzip docker_onekey_install.zip
ls -l
total 79272
-rw-r--r--. 1 root root 68940162 Mar 15 10:03 docker-20.10.3.tgz
-rw-r--r--. 1 root root 12211728 Mar 15 12:08 docker-compose
-rw-r--r--. 1 root root 465 Mar 15 11:14 docker.service
-rw-r--r--. 1 root root 1246 Mar 15 13:37 install.sh
-rw-r--r--. 1 root root 503 Mar 15 13:32 uninstall.sh
-rw-r--r--. 1 root root 131 Mar 15 11:30 安裝說明.txt
執行install.sh
sh install.sh docker-20.10.3.tgz
驗證是否安裝成功
等待執行完畢
docker version
# 輸出以下內容表示安裝成功
Client: Docker Engine - Community
Version: 20.10.3
API version: 1.41
Go version: go1.13.15
Git commit: 48d30b5
Built: Fri Jan 29 14:28:23 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.3
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 46229ca
Built: Fri Jan 29 14:31:57 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.4.3
GitCommit: 269548fa27e0089a8b8278fc4fc781d7f65a939b
runc:
Version: 1.0.0-rc92
GitCommit: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
docker-init:
Version: 0.19.0
GitCommit: de40ad0
# 驗證 docker-compose
docker-compose -v
# 輸出以下內容表示安裝成功
docker-compose version 1.28.5, build c4eb3a1f
NodeJs12離線安裝
版本:node:12-buster
離線鏡像包:node-12-buster.tar
安裝:將已准備好的node-12-buster.tar離線鏡像包上傳到服務器/home/soft/nodejs12目錄,目錄可以自定,不一定要這個路徑
# 將鏡像加載到docker鏡像庫
docker load -i /home/soft/nodejs12/node-12-buster.tar
# 導入成功后,查看鏡像
docker images
# 輸出
REPOSITORY TAG IMAGE ID CREATED SIZE
node 12-buster a26bce3d33c5 2 days ago 886MB
# 安裝啟動
docker run -itd --name nodejs-12 node:12-buster
# 驗證登錄
docker exec -it nodejs-12 /bin/bash
# 查看nodejs和npm版本
root@84950af08e2e:/# node -v
v12.21.0
root@84950af08e2e:/# npm -v
6.14.11
Python3.7離線安裝
版本:python:3.7
離線鏡像包:python-3.7.tar
安裝:將已准備好的python-3.7.tar離線鏡像包上傳到服務器/home/soft/python37目錄
# 將鏡像加載到docker鏡像庫
docker load -i /home/soft/python37/python-3.7.tar
# 導入成功后,查看鏡像
docker images
# 輸出
REPOSITORY TAG IMAGE ID CREATED SIZE
python 3.7 ac9dead5ba6f 2 days ago 876MB
使用 python 鏡像
在 ~/python/myapp 目錄下創建一個 helloworld.py 文件,代碼如下:
#!/usr/bin/python
print("Hello, World!");
運行容器
# 運行演示
docker run -v ~/python/myapp:/usr/src/myapp -w /usr/src/myapp python:3.7 python helloworld.py
# 命令說明:
-v ~/python/myapp:/usr/src/myapp: 將主機中當前目錄下的 myapp 掛載到容器的 /usr/src/myapp。
-w /usr/src/myapp: 指定容器的 /usr/src/myapp 目錄為工作目錄。
python helloworld.py: 使用容器的 python 命令來執行工作目錄中的 helloworld.py 文件。
# 運行結果
Hello, World!
MySQL離線安裝
MySQL離線鏡像安裝包(版本8.0.23)
將已准備好的mysql-8.0.23.tar離線鏡像包上傳到服務器/home/soft/mysql目錄,目錄可以自定,不一定要這個路徑
# 將鏡像加載到docker鏡像庫
docker load -i /home/soft/mysql/mysql-8.0.23.tar
# 導入成功后,查看鏡像
docker images
# 輸出
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql 8.0.23 14340cbfa999 2 days ago 546MB
# 安裝啟動
docker run -itd --name mysql-8.0.23 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.23
# 驗證登錄
docker exec -it mysql-8.0.23 /bin/bash
root@a72db999ced1:/# mysql -uroot -p
Enter password:
# 輸入密碼,輸出下面的內容就表示安裝成功了
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.23 MySQL Community Server - GPL
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
ffmpeg離線安裝
版本:jrottenberg/ffmpeg:3-scratch
離線鏡像包:jrottenberg.ffmpeg-3-scratch.tar
安裝:將已准備好的jrottenberg.ffmpeg-3-scratch.tar離線鏡像包上傳到服務器/home/soft/ffmpeg目錄
# 將鏡像加載到docker鏡像庫
docker load -i /home/soft/ffmpeg/jrottenberg.ffmpeg-3-scratch.tar
# 導入成功后,查看鏡像
docker images
# 輸出
REPOSITORY TAG IMAGE ID CREATED SIZE
jrottenberg/ffmpeg 3-scratch a103639839da 13 days ago 63.5MB
# 使用
docker run jrottenberg/ffmpeg \
-i http://url/to/media.mp4 \
-stats \
ffmpeg_options - > out.mp4
Kafka離線安裝
版本:
kafka:wurstmeister/kafka:latest
zookeeper:wurstmeister/zookeeper:latest
離線鏡像包:wurstmeister.kafka-latest.tar,wurstmeister.zookeeper-latest.tar
安裝:將已准備好的wurstmeister.kafka-latest.tar,wurstmeister.zookeeper-latest.tar離線鏡像包上傳到服務器/home/soft/kafka目錄
# 將kafka和zookeeper鏡像加載到docker鏡像庫
docker load -i /home/soft/kafka/wurstmeister.kafka-latest.tar
docker load -i /home/soft/kafka/wurstmeister.zookeeper-latest.tar
准備docker-compose.yml文件,內容如下
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:latest
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: PLAINTEXT://:9092
KAFKA_LISTENERS: PLAINTEXT://:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
運行docker-compose
docker-compose -f docker-compise.yml up -d
# 多個broker啟動方式
docker-compose -f docker-compise.yml scale kafka=3

