# 添加docker的yum安装源
yum install -y yum-utils
sudo yum-config-manager --add-repo \
https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
# 安装docker-ce组件
sudo yum makecache fast
sudo yum install docker-ce docker-ce-cli containerd.io
# 设置docker随系统系统自动启动
systemctl enable docker
# 验证docker工作正常,应显示Client和Server的版本信息,如果无法显示Server信息,说明服务未正常运行
docker version
如果docker version命令无法显示服务器端的信息,这通常意味着Docker服务没有运行。您可以通过以下命令来启动Docker服务:
sudo systemctl start docker
2
# 安装docker-compose
wget https://github.com/docker/compose/releases/download/v2.26.0/docker-compose-`uname -s`-`uname -m` -O /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# 验证docker-compose工作正常
docker-compose -v
Docker Compose version v2.26.0
遇到错误信息 -bash: wget: command not found
表示您的系统中没有安装wget
命令。wget
是一个常用的命令行工具,用于从网络上下载文件。
要解决这个问题,您可以根据您使用的Linux发行版来安装wget
。以下是一些常见发行版的安装命令:
对于基于Debian的系统(如Ubuntu),使用apt
:
sudo apt update
sudo apt install wget
对于基于Red Hat的系统(如CentOS、Fedora),使用yum
或dnf
:
sudo yum install wget
# 或者,如果您的系统使用dnf包管理器
sudo dnf install wget
如果下载很慢,我是用外网下载好了上传到国内服务器上
下面下载也有些慢,但是总量不大,慢慢等待
# 添加yum安装源
curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
# yum方式安装NVIDIA Container Toolkit
sudo yum install -y nvidia-container-toolkit
# 为docker添加nvidia runtime的配置
sudo nvidia-ctk runtime configure --runtime=docker
# 重启docker服务
sudo systemctl restart docker
# 验证nvidia runtime正常工作,在Runtimes中有显示有nvidia
docker info | grep Runtimes
# 如果系统中有git命令,可以直接下载毕昇代码
git clone https://github.com/dataelement/bisheng.git
# 进入安装目录
cd bisheng/docker
# 如果系统没有没有git命令,可以下载毕昇代码zip包
wget https://github.com/dataelement/bisheng/archive/refs/heads/main.zip
# 解压并进入安装目录
unzip main.zip && cd bisheng-main/docker
出现 -bash: git: command not found
错误通常意味着 Git 没有安装在你的系统上,或者 Git 的可执行文件不在你的系统的 PATH 环境变量中。以下是解决这个问题的几个步骤:
-
安装 Git:
- 对于基于 Debian 的系统(如 Ubuntu),你可以使用以下命令安装 Git:
sudo apt update sudo apt install git
- 对于基于 Red Hat 的系统(如 CentOS 或 Fedora),你可以使用以下命令安装 Git:
sudo yum install git
- 对于 Arch Linux 或基于 Arch 的系统,你可以使用:
sudo pacman -S git
- 对于基于 Debian 的系统(如 Ubuntu),你可以使用以下命令安装 Git:
-
确认 Git 是否安装成功:
- 安装完成后,你可以通过运行
git --version
来检查 Git 是否已正确安装。这应该会显示 Git 的版本号。
- 安装完成后,你可以通过运行
# 进入bisheng/docker或bisheng-main/docker目录,执行
docker-compose up -d
docker-compose ps
[root@localhost docker]# docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
bisheng-backend dataelement/bisheng-backend:latest "bash -c 'uvicorn bi…" backend 8 minutes ago Up 7 minutes (healthy) 0.0.0.0:7860->7860/tcp, :::7860->7860/tcp
bisheng-es docker.io/bitnami/elasticsearch:8.12.0 "/opt/bitnami/script…" elasticsearch 8 minutes ago Up 8 minutes 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 0.0.0.0:9300->9300/tcp, :::9300->9300/tcp
bisheng-frontend dataelement/bisheng-frontend:latest "/docker-entrypoint.…" frontend 8 minutes ago Up 7 minutes 80/tcp, 0.0.0.0:3001->3001/tcp, :::3001->3001/tcp
bisheng-mysql mysql:8.0 "docker-entrypoint.s…" mysql 8 minutes ago Up 8 minutes (healthy) 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp
bisheng-office onlyoffice/documentserver:7.2.1 "/app/ds/run-documen…" office 8 minutes ago Up 8 minutes 443/tcp, 0.0.0.0:8701->80/tcp, :::8701->80/tcp
bisheng-redis redis:7.0.4 "docker-entrypoint.s…" redis 8 minutes ago Up 8 minutes (healthy) 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp
milvus-etcd quay.io/coreos/etcd:v3.5.5 "etcd -advertise-cli…" etcd 8 minutes ago Up 8 minutes (healthy) 2379-2380/tcp
milvus-minio minio/minio:RELEASE.2023-03-20T20-16-18Z "/usr/bin/docker-ent…" minio 8 minutes ago Up 8 minutes (healthy) 0.0.0.0:9100->9000/tcp, :::9100->9000/tcp, 0.0.0.0:9101->9001/tcp, :::9101->9001/tcp
milvus-standalone milvusdb/milvus:v2.3.3 "/tini -- milvus run…" milvus 8 minutes ago Up 8 minutes (healthy) 0.0.0.0:9091->9091/tcp, :::9091->9091/tcp, 0.0.0.0:19530->19530/tcp, :::19530->19530/tcp
根据您提供的 docker-compose ps
命令的输出,所有列出的服务都处于运行状态,并且大部分服务都标记为 healthy
。但比如 frontend
服务后面没有显示 (healthy)
状态。
要重启没有 healthy
状态的服务,您可以按照以下步骤操作:
- 重启 frontend 服务:
docker-compose restart frontend
这些命令将停止并重新启动指定的服务。一旦重启完成,您可以再次运行 docker-compose ps
来查看服务的状态,看它们是否变为 healthy
。
如果服务在重启后仍然没有变为 healthy
状态,您应该查看这些服务的日志以获取更多信息:
- 查看 frontend 服务的日志:
docker-compose logs frontend
如果您没有看到 (healthy) 或 (unhealthy) 的状态,这可能是因为您的服务没有配置健康检查,或者 Docker 没有收到来自容器的健康状况报告。在这种情况下,只要容器正常运行且没有报告错误,通常可以认为它是健康的。
您可以使用 docker-compose config
命令来查看当前配置的服务列表,这有助于确认服务名称是否正确:
docker-compose config --services
或者,查看整个配置以确保服务名称和文件格式正确:
docker-compose config
[root@localhost docker]# docker-compose config --services
etcd
minio
mysql
redis
office
backend
elasticsearch
frontend
milvus
一直访问不成功
firewall-cmd --zone=public --add-port=3001/tcp --permanent
执行该命令后,您还需要重新加载 firewalld 服务以应用更改:
firewall-cmd --reload
完成这些步骤后,端口 3001 应该会在 firewalld 的公共区域中开放,允许外部流量通过该端口。
要重启所有使用 docker-compose
管理的服务,您可以使用 docker-compose down
命令来停止服务,然后再次使用 docker-compose up -d
来启动服务。这样做会停止并重新启动您在 docker-compose.yml
文件中定义的所有容器。
以下是具体的命令步骤:
-
停止所有服务:
[root@localhost docker]# docker-compose down
这个命令会停止所有由
docker-compose.yml
文件管理的容器。 -
重新启动所有服务:
[root@localhost docker]# docker-compose up -d
这个命令会以 “detached” 模式启动服务,即在后台运行。
如果遇到问题重启一下docker服务
systemctl restart docker
- 检查服务状态:
这个命令会显示所有容器的当前状态和运行情况。[root@localhost docker]# docker-compose ps
请确保在执行这些命令之前,您已经保存了所有重要的数据,并且您的服务配置是最新的。如果您的服务依赖于持久化存储的数据卷,重启容器通常不会影响这些数据。
如果您只想重启特定的服务而不是全部,您可以指定服务名称使用 docker-compose restart [服务名称]
命令。例如,要重启 frontend
服务:
[root@localhost docker]# docker-compose restart frontend
这将只重启 frontend
服务的容器,而不影响其他服务。