docker cp 拷贝文件 和 进入容器的操作

进入正在运行的容器

# 进入容器 新开一个终端
# docker exec -it 容器id /bin/bash
docker exec -it eaac94ef6926 /bin/bash

# 进入容器原来的终端
# docker attach 容器id
docker attach eaac94ef6926

容器的文件拷贝

# 从容器内拷贝文件到linux主机上
# docker cp 容器id:容器内路径 目标主机路径
docker cp eaac94ef6926:/home/test.txt /root/test.txt

# 从宿主机拷贝文件到容器内 # docker cp 文件路径 容器id:容器内路径
docker cp test.txt eaac94ef6926:/home/test.txt

官方文档:https://docs.docker.com/engine/reference/commandline/exec/

补充:docker cp: 从容器中复制文件到本地

例:从容器中复制一个test.db文件到本地data目录。

# 假设存在一个镜像名为 kitty,标签为0.1,创建一个名为 koko的容器

# 1. create a container first
docker run -itd --name koko kitty:0.1 /bin/bash
# 2. copy test.db from koko tmp directory to local data directory.
docker cp koko:/tmp/test.db ./data/test.db
# 3. rm container koko
docker rm -f koko

docker cp也可以从本地copy文件到容器中:

# 以上面的代码为例,把容器路径和本地路径颠倒即可.
docker cp ./data/test.db koko:/tmp/test.db

补充:Mac 上docker挂载到本地文件,互通使用

docker 挂载到本地文件

docker run -itv /Users/XXXX/Sites/docker:/www images:12121 /bin/bash

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • docker用root进入容器的操作

    首先运行docker容器 运行命令是root用户 sudo docker exec -it -u root ec33c19230ca /bin/bash 补充:Docker中进入容器命令行及后台运行 Docker中我们一般会有两种执行命令的方式,一种是直接进入容器的命令行,在终端执行并查看结果,一种是在后台执行,并不会在终端查看结果. 1.进入容器命令行 su root docker run -i -t ubuntu:16.04 /bin/bash #或者执行下面这句 docker run -i

  • 使用docker更改容器内root密码的操作

    1.在制作dockerfile的时候使用如下命令设置ssh密码 RUN echo "root:root" | chpasswd 2.现在需要在容器生成后更改容器内root密码 使用 docker exec -it centos7.5 root:newpassword | chpasswd 命令执行成功,但是密码更新失败. 正确的方式如下: PASS='newpassword ' && echo -e "KaTeX parse error: Expected '

  • Docker容器没有权限写入宿主机目录的解决方案

    在应用docker容器的时候,更多的时候我们会把宿主机的目录挂载到docker容器中. 在宿主机的文件夹权限隶属于root时,我们需要将文件夹的权限用户进行 chown 设置,才能保证目录的内容的正常写入, 下面是一个例子: 使用的是docker版本的jenkins,运行后,出现如下错误: [root@localhost CICD]# docker logs -f jenkins touch: cannot touch '/var/jenkins_home/copy_reference_file

  • docker 免root权限登陆的解决方案

    初次使用docker命令的时候会报权限问题 Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.37/containers/json?all=1: dial unix /var/run/docker.sock: connect: permission den

  • docker 如何添加证书

    1.升级处理:sudo apt-get update 缺包,包的版本旧等问题可以由此解决,如果不是的话那就是缺失认证,需要生成自己的认证证书. 2.生成自己的认证证书 先建一个文件夹 mkdir -p certs 之后创建证书,证书生成在刚才创建的文件夹中 openssl req -newkey rsa:4096 -nodes -sha256 -keyout /root/certs/domain.key -x509 -days 365 -out /root/certs/domain.crt 之后

  • docker获取Let's Encrypt永久免费SSL证书的方法

    一.起因 官方的cerbot太烦了,不建议使用还不如野蛮生长的acme.sh,而这里介绍docker运行cerbot获取Let's Encrypt永久免费SSL证书 二.选型 cerbot的证书不会自动刷新日期,但是acme.sh自带这功能,每天凌晨0:00自动检测过期域名并且自动续期 选择docker运行cerbot,是为了让服务器里尽量少配置和无意义的程序,方便管理.例如Let's Encrypt需要的Python2.7,git,pip我们都不需要装在宿主机内,容器就自己配置好了 原文 ht

  • docker容器里面的root权限获取方法

    首先你的container得正在运行 可通过sudo docker container ls或者sudo docker ps查看容器的CONTAINER ID 最后执行命令(其中7509371edd48 为上面查到的CONTAINER ID) sudo docker exec -ti -u root 7509371edd48 bash 补充:解决非root用户没有权限运行docker命令的问题 问题描述: "Got permission denied while trying to connec

  • docker 如何修改mysql的root密码

    第一步mysql容器 docker exec -it 容器ID /bin/bash 第二步连接mysql mysql -uroot -p 输入密码后,登录mysql终端 第三步修改密码 SET PASSWORD FOR 'root' = PASSWORD('设置的密码'); 第四步重启 重启mysql容器即可 docker restart 容器ID 补充:docker 启动mysql容器启动初始化默认密码问题 -e MYSQL_ROOT_PASSWORD docker run -p 3308:3

  • docker cp 拷贝文件 和 进入容器的操作

    进入正在运行的容器 # 进入容器 新开一个终端 # docker exec -it 容器id /bin/bash docker exec -it eaac94ef6926 /bin/bash # 进入容器原来的终端 # docker attach 容器id docker attach eaac94ef6926 容器的文件拷贝 # 从容器内拷贝文件到linux主机上 # docker cp 容器id:容器内路径 目标主机路径 docker cp eaac94ef6926:/home/test.tx

  • Docker绑定固定IP/跨主机容器互访操作

    前言 之前使用pipework 分配静态ip是暂时的,重启之后就会失效,并且使用pipework绑定的ip 物理机,虚拟机,docker容器的ip都在同一网段,这在生产环境是很困难的,下面使用docker自带的network实现固定ip分配,并且重启不会消失. 环境介绍 服务器IP 容器分配网段 启动容器的ID 192.168.1.105 172.172.0.0/24 172.172.0.10 192.168.1.106 172.172.1.0/24 172.172.1.10 绑定步骤 先操作1

  • Docker构建python Flask+ nginx+uwsgi容器

    安装Nginx 首先拉下centos镜像docker pull centos 我们安装最新的nginx1.19版本:下载地址 将centos镜像运行起来并进入: docker run --name ver -d -p 8051:80 -it nginx_start 将nginx-1.19.0.tar.gz这个包放入容器里面: docker cp nginx-1.19.0.tar.gz 10e87af84c05:/root(10e87af84c05为centos容器id) 安装nginx前先装一些

  • 查看docker镜像中文件的方法

    怎么查看docker镜像中的文件 一.如果是已运行的 对于已经运行的镜像,我们可以通过其ContrainerID来查看 docker attach ContainerID 这种方式,需要对应的container是运行中的,不处于stop状态 二.如果未运行 对于未运行的,可以把Docker镜像中的文件复制到宿主来看,命令示意如下: docker cp <容器名称>:<路径> <主机路径> 如: sudo docker cp nginx-ubuntu-container:

  • Docker stop停止/remove删除所有容器

    本文主要介绍了Docker stop停止/remove删除所有容器,分享给大家,具体如下: $ docker ps // 查看所有正在运行容器 $ docker stop containerId // containerId 是容器的ID $ docker ps -a // 查看所有容器 $ docker ps -a -q // 查看所有容器ID $ docker stop $(docker ps -a -q) // stop停止所有容器 $ docker rm $(docker ps -a -

  • Docker部署Mysql,.Net6,Sqlserver等容器

    Centos8安装Docker 1.更新一下yum [root@VM-24-9-centos ~]# yum -y update 2.安装containerd.io # centos8默认使用podman代替docker,所以需要containerd.io [root@VM-24-9-centos ~]# yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2

  • docker连接spring boot和mysql容器方法介绍

    在之前使用docker部署运行了Spring Boot的小例子,但是没有使用数据库.在这一篇中,介绍docker如何启动mysql容器,以及如何将Spring Boot容器与mysql容器连接起来运行. docker基本命令 首先熟悉一下在操作过程中常用的docker基本命令: docker images:列出所有docker镜像 docker ps:列出所有运行中的容器,-a参数可以列出所有容器,包括停止的 docker stop container_id:停止容器 docker start

  • 详解Docker创建支持ssh服务的容器和镜像

    1. 这里使用的centos作为容器,所以首先下载centos的images # sudo docker pull centos 2. 下载后运行一个centos的容器,这里使用centos6作为我测试的容器 # sudo docker run --name=centos-ssh -i -t centos:centos6 /bin/bash  3. 安装openssh-server服务软件包 # yum install openssh-server 4. 编辑sshd的配置文件/etc/ssh/

  • 使用scp获取远程linux服务器上的文件 linux远程拷贝文件

    一.scp是什么? scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的.可能会稍微影响一下速度. 二.scp有什么用? 1.我们需要获得远程服务器上的某个文件,远程服务器既没有配置ftp服务器,没有开启web服务器,也没有做共享,无法通过常规途径获得文件时,只需要通过scp命令便可轻松的达到目的. 2.我们需要将本机上的文件上传到远程服务器上,远程服务器没有开启ftp服务器或共享,无

  • 详解Docker数据管理(数据卷&数据卷容器)

    生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 容器中管理数据主要有两种方式: 1.数据卷(Data Volumes):容器内数据直接映射到本地主机环境:如何在容器内创建数据卷,并且把本地的目录或文件挂载到容器内的数据卷中. 2.数据卷容器(Data Volume Containers):使用特定容器维护数据卷.如何使用数据卷容器在容器和主机.容器和容器之间共享数据,并实现数据的备份和恢复. 数据卷 数据卷是一个可

随机推荐