linux服务器docker部署


# 添加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),使用yumdnf

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 环境变量中。以下是解决这个问题的几个步骤:

  1. 安装 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
      
  2. 确认 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 状态的服务,您可以按照以下步骤操作:

  1. 重启 frontend 服务
    docker-compose restart frontend
    

这些命令将停止并重新启动指定的服务。一旦重启完成,您可以再次运行 docker-compose ps 来查看服务的状态,看它们是否变为 healthy

如果服务在重启后仍然没有变为 healthy 状态,您应该查看这些服务的日志以获取更多信息:

  1. 查看 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 文件中定义的所有容器。

以下是具体的命令步骤:

  1. 停止所有服务:

    [root@localhost docker]# docker-compose down
    

    这个命令会停止所有由 docker-compose.yml 文件管理的容器。

  2. 重新启动所有服务:

    [root@localhost docker]# docker-compose up -d
    

    这个命令会以 “detached” 模式启动服务,即在后台运行。

如果遇到问题重启一下docker服务

systemctl restart docker
  1. 检查服务状态:
    [root@localhost docker]# docker-compose ps
    
    这个命令会显示所有容器的当前状态和运行情况。

请确保在执行这些命令之前,您已经保存了所有重要的数据,并且您的服务配置是最新的。如果您的服务依赖于持久化存储的数据卷,重启容器通常不会影响这些数据。

如果您只想重启特定的服务而不是全部,您可以指定服务名称使用 docker-compose restart [服务名称] 命令。例如,要重启 frontend 服务:

[root@localhost docker]# docker-compose restart frontend

这将只重启 frontend 服务的容器,而不影响其他服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值