没外网的服务上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

posted @ 2022-02-18 00:09  ChoxSu  阅读(1415)  评论(0)    收藏  举报