沒外網的服務上Docker安裝 nodejs、kafka、mysql、Python離線安裝和離線包


安裝軟件

主要有離線安裝軟件有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

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM