云计算百科
云计算领域专业知识百科平台

Mac连接服务器Docker容器全攻略

苹果电脑( macOS 系统 )连接服务器、配置容器,整体思路和 Linux 终端操作更贴近,以下结合 macOS 特点,详细分步说明,以 Docker 容器 + 常见 Linux 服务器( 如 CentOS、Ubuntu )为例:

一、连接服务器(SSH 方式, macOS 终端原生支持 )

1. 准备信息

找运维或云平台获取:

  • 服务器公网 IP( 如 192.168.1.100 ,实际是公网可访问的 IP )
  • 登录用户名( 如 root 、admin 等 )
  • 登录凭证:密码,或 .pem 格式的密钥文件( 若用密钥认证 )
2. 终端连接操作
  • 密码认证:

打开 macOS “启动台” – “其他” – “终端”,输入命令:

ssh 用户名@服务器IP

比如 ssh root@192.168.1.100 ,回车后按提示输入密码,验证通过就进入服务器终端。

  • 密钥认证:

若服务器配置了密钥登录,先把本地 .pem 密钥文件放到安全目录( 如 ~/Documents/keys/ ),在终端给密钥文件赋权( 否则可能因权限太开放无法使用 ):

chmod 400 ~/Documents/keys/你的密钥.pem

然后连接:

ssh -i ~/Documents/keys/你的密钥.pem 用户名@服务器IP

比如 ssh -i ~/Documents/keys/server_key.pem root@192.168.1.100 ,成功连接进入服务器终端。

二、配置容器(以 Docker 为例,假设服务器已装 Docker ,没装的话先在服务器执行安装命令 )

1. 确认服务器 Docker 环境

在连接好的服务器终端,输入 docker -v ,若显示版本号( 如 Docker version 24.0.6, build ed223bc ),说明已装;没装的话,根据服务器系统装:

  • CentOS/RHEL:

sudo yum install -y docker

sudo systemctl start docker

sudo systemctl enable docker

  • Ubuntu/Debian:

sudo apt update

sudo apt install -y docker.io

sudo systemctl start docker

sudo systemctl enable docker

2. 拉取镜像( 容器 “模板” )

假设你要运行 Python 脚本 img_class.py ,先拉取 Python 基础镜像,终端执行:

docker pull python:3.10-slim # 拉取 Python 3.10 精简版镜像,按需换版本

3. 准备代码 / 文件( 若需要挂载本地代码到容器 )

如果 img_class.py 在你 Mac 本地,想挂载到服务器容器里运行,需要:

  • 在 Mac 终端,把代码传到服务器( 用 scp 命令 ):

scp /本地路径/img_class.py 用户名@服务器IP:/服务器目标路径

比如 scp ~/Desktop/img_class.py root@192.168.1.100:/home/code/ ,把本地桌面的脚本传到服务器 /home/code/ 目录。

4. 创建并运行容器

在服务器终端,用 docker run 命令启动容器,结合挂载、端口映射等需求,示例:

docker run -it -d \\

–name sjys_img_class \\ # 容器命名,自定义

-v /服务器代码目录:/容器内目录 \\ # 挂载目录,如 `-v /home/code/:/app/` ,把服务器 `/home/code/` 挂载到容器 `/app/`

-p 本地端口:容器端口 \\ # 若脚本有网络服务( 如 Flask ),映射端口,如 `-p 8000:5000` ,本地访问 8000 转发到容器 5000

python:3.10-slim \\ # 使用的镜像

python /容器内目录/img_class.py # 容器启动后执行的命令,如脚本在容器 `/app/` ,就是 `python /app/img_class.py`

解释关键参数:

  • -it :分配交互终端,方便调试;-d :后台运行
  • –name :自定义容器名,方便管理
  • -v :挂载卷,让服务器目录和容器目录共享文件( 若代码在服务器,也可直接挂载服务器目录 ;若想从 Mac 直接挂载,需服务器支持 NFS 等共享,稍复杂,新手先传代码到服务器再挂载更简单 )
  • -p :端口映射,外部访问服务器 IP + 本地端口,就能访问容器内服务
5. 管理容器( 服务器终端操作 )
  • 查看容器状态:

docker ps # 看运行中的容器

docker ps -a # 看所有容器( 包括已停止 )

  • 进入容器终端:

docker exec -it 容器名/容器ID /bin/bash

比如 docker exec -it sjys_img_class /bin/bash ,进入后可执行 pip install 依赖包 装脚本需要的库,或调试代码。

  • 停止 / 启动容器:

docker stop 容器名/ID # 停止

docker start 容器名/ID # 启动

三、进阶补充( 若涉及 Docker Compose )

如果容器配置复杂( 多服务、网络、卷 ),推荐用 Docker Compose 管理。

1. 在服务器安装 Docker Compose

# 下载 Compose 二进制文件( 适用于 Linux x86_64 )

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 赋权

sudo chmod +x /usr/local/bin/docker-compose

# 验证

docker-compose -v

2. 编写 docker-compose.yml 文件

在服务器创建 docker-compose.yml ,示例( 针对 Python 脚本场景 ):

version: '3'

services:

sjys_img_class:

image: python:3.10-slim

container_name: sjys_img_class

volumes:

– /服务器代码目录:/app # 挂载代码

ports:

– "8000:5000" # 端口映射

command: "python /app/img_class.py" # 启动命令

3. 启动 / 管理

在 docker-compose.yml 所在目录,执行:

docker-compose up -d # 后台启动

docker-compose logs # 看日志

docker-compose stop # 停止

四、注意事项

  • 权限问题:挂载目录、操作容器时,注意用户权限,必要时加 sudo ,或配置 Docker 免 sudo ( sudo usermod -aG docker 用户名 ,然后重新登录服务器终端 )。
  • 网络安全:服务器端口( 如 8000 )若要公网访问,需在云平台控制台配置安全组 / 防火墙规则,放行对应端口。
  • 镜像 / 依赖:若 img_class.py 依赖特殊库,需在容器启动后用 docker exec 进入,或在 Dockerfile 里提前装( 进阶可写 Dockerfile 构建自定义镜像 )。
  • 要是你用的容器技术不是 Docker ( 如 Podman ),或服务器系统有特殊配置,可补充说明再细化~

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » Mac连接服务器Docker容器全攻略
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!