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


浙公网安备 33010602011771号