同步本地文件到服务器上的Docker容器

同步本地文件到服务器上的Docker容器

要将本地文件同步到服务器上的Docker容器中,有几种常用方法:

1. 使用 docker cp 命令

bash 复制代码
# 将本地文件复制到运行中的容器
docker cp /本地/文件/路径 容器名或ID:/容器内/路径

# 示例
docker cp ./app.py mycontainer:/app/

2. 使用挂载卷(推荐方法)

在运行容器时挂载本地目录:

bash 复制代码
docker run -v /本地/路径:/容器内/路径 镜像名

或者对已存在的容器:

bash 复制代码
docker run -d -v /本地/路径:/容器内/路径 --name mycontainer 镜像名

3. 使用 scp 先传到服务器,再复制到容器

bash 复制代码
# 先传到服务器
scp /本地/文件/路径 用户名@服务器IP:/服务器/路径

# 然后从服务器复制到容器
ssh 用户名@服务器IP "docker cp /服务器/路径 容器名或ID:/容器内/路径"

4. 使用 Docker 卷(适合生产环境)

bash 复制代码
# 创建卷
docker volume create myvolume

# 运行容器并挂载卷
docker run -v myvolume:/容器内/路径 镜像名

# 将本地文件复制到卷中
docker run --rm -v myvolume:/目标路径 -v /本地/路径:/源路径 alpine cp -r /源路径/. /目标路径

5. 使用 rsync 直接同步到容器(需容器内安装rsync)

bash 复制代码
rsync -avz -e "ssh" /本地/路径/ 用户名@服务器IP:"docker exec -i 容器名或ID mkdir -p /容器内/路径 && docker exec -i 容器名或ID rsync -avz --delete - /容器内/路径"

选择哪种方法取决于你的具体需求和环境。对于开发环境,挂载卷(方法2)通常是最方便的,因为它能实时同步更改。对于生产环境,建议使用方法4创建专用卷。

相关推荐
xinxinhenmeihao7 分钟前
长效住宅静态IP有什么好处?是选择动态IP还是静态IP好?
服务器·网络·tcp/ip
irisart15 分钟前
第二章【开源功能】—— HTTP 服务器(上)
服务器·nginx·开源
sean90816 分钟前
Colima 下 docker pull 失败自查流程
macos·docker·容器·colima
qq_4557608516 分钟前
docker - 虚拟化和容器化
linux·运维·服务器
斯普信专业组25 分钟前
Docker Registry 镜像缓存与客户端无感加速(以 Docker Hub 为例)
缓存·docker·eureka
云和数据.ChenGuang25 分钟前
ELK 是一套**开源的日志收集、存储、分析与可视化的技术栈
服务器·数据库·elk·开源·运维技术·数据库运维工程师
艾莉丝努力练剑25 分钟前
【Linux进程(二)】Linux进程的诞生、管理与消亡:一份基于内核视角的完整分析
大数据·linux·运维·服务器·c++·安全·centos
拾光Ծ32 分钟前
【linux】环境变量(详解)
linux·运维·服务器
落羽的落羽33 分钟前
【C++】并查集的原理与使用
linux·服务器·c++·人工智能·深度学习·随机森林·机器学习
虾..9 小时前
Linux 软硬链接和动静态库
linux·运维·服务器