docker cp拷贝文件_Docker基础知识

简介

  1. 优点:与传统虚拟机相比,Docker优势体现在启动速度快,占用体积小

  2. Docker是一个客户端-服务器(C/S)的架构程序

  3. Docker镜像与容器:镜像是用来运行容器,一个镜像可以构建多个容器

  4. Registry(注册中心):Docker用Registry来保存用户的镜像,用户可以在DockerHub保存自己的镜像

安装和启动

Centos7.x版本安装

# 更新源

sudo yum update

# 安装

sudo yum install docker-ce

Ubuntu安装

# 安装Docker

sudo apt-get install docker-ce

设置USTC镜像

vi /etc/docker/daemon.json

# 输入

{

"registry-mirrors": ["http://f1361db2.m.daocloud.io"]

}

# 执行

systemctl daemon-reload

systemctl restart docker

# 重启

service docker restart

Docker启动与停止

命令作用
systemctl start docker启动Docker
systemctl stop docker停止Docker
systemctl restart docker重启Docker
systemctl status docker查看Docker状态
systemctl enable docker设置开机启动
docker info查看Docker概要信息
docker --help查看Docker帮助文档

常用命令

镜像相关命令

# 查看本地镜像,这些镜像都存储在Docker宿主机的/var/lib/docker目录下

docker images

# 镜像名称

REPOSITORY

# 镜像标签

TAG

# 镜像创建时间

CREATED

# 镜像大小

SIZE

# 搜索镜像

docker search + 镜像名称

# 仓库名称

NAME

# 镜像描述

DESCRIPTION

# 用户评价

STARS

# 是否是官方的

OFFICIAL

# 自动构建,表示是由Docker Hub自动构建形成的:AUTOMATED

# 拉取镜像

docker pull + 查看到的镜像名称

# 列出所有容器

docker ps -aq

# 停止所有容器

docker stop $(docker ps -aq)

# 删除所有容器

docker rm $(docker ps -aq)

# 删除所有的镜像

docker rmi $(docker images -q)

容器相关命令

  • 查看正在运行的容器:docker ps

    • 加上-a查看所有容器

    • 加上-l查看最后一次运行的容器

    • 加上-f status-exited查看停止的容器

  • 创建容器:docker run

# 运行容器

-i

# 容器启动后会进入命令行。和-i一起用会登录进入这个容器,创建一个伪终端

-t

# 为创建的容器命名

--name

# 目录映射关系,把宿主机中的一个目录和容器的目录形成映射,操作宿主机目录相当于操作容器目录

-v

# 创建一个守护式容器在后台运行

-d

# 端口映射

-p

# 退出当前容器

exit

# 交互式方式创建容器:退出容器,容器自动关闭

docker run -it --name=容器名称 镜像名称:标签 /bin/bash

# 守护式方式创建容器:退出容器,容器不关闭,仍然在后台运行

docker run -di --name=容器名称 镜像名称:标签

# 进入容器

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

# 停止容器

docker stop 容器名称(或容器ID)

# 启动容器

docker start 容器名称(或容器ID)

# 文件拷贝到容器

docker cp 需要拷贝的文件或目录 容器名称:容器目录

# 文件拷贝出容器

docker cp 容器名称:容器目录 需要拷贝的文件或目录

# 目录挂载

docker run -di -v 宿主机目录:容器目录 --name=容器名称 镜像名称:标签

# 查看容器IP地址

docker inspect --format='{{.NetworkSettings.IPAddress}}'容器名称

# 查看容器所有信息

docker inspect 容器名称

# 删除容器

docker rm 容器名称

备份与恢复

容器保存为镜像

docker commit 需要保存的容器名称 需要保存为镜像的镜像名称

镜像备份为tar文件

docker save -o 备份后镜像名称.tar 原镜像名称

镜像恢复

先删除原镜像,再执行docker load -i 需要恢复的tar镜像

Dockerfile

是一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像

# 执行Dockerfile文件

docker build -t='镜像名称'指定Dockerfile存在的位置

常用命令

命令作用
FROM 镜像名称:标签定义了使用哪个基础镜像启动构建流程
MAINTAINER 名字声明镜像的创建者
ENV key value设置环境变量
RUN command是Docker的核心部分(可以写多条)
ADD 源目录文件
家目录文件
将宿主机的文件复制到容器中
如果是一个压缩文件将会在复制后自动解压
COPY 源目录文件
家目录文件
和ADD相似,但如果有压缩文件不能解压
WORKDIR 目录名称设置工作目录

Docker私有仓库

搭建和配置

# 拉取私有仓库镜像

docker pull registry

# 启动私有仓库容器

docker run -di --name=registry -p 5000:5000 registry

# 浏览器打开输入ip地址:5000/v2/_catalog

# 看到{"repositories":[]}表示搭建成功,且内容为空

# 修改/etc/docker/daemon.json添加

{"insecure-registries":["ip地址:5000"]}

# 重启docker

systemctl restart docker

上传镜像到私有仓库

  1. 对需要上传的镜像打标签:docker tag 镜像名称 私有仓库地址:5000/镜像名称

  2. 启动私有仓库容器:docker start registry

  3. 上传:docker push 私有仓库地址:5000/镜像名称

下载私有仓库镜像

  1. 重复搭建的命令

  2. 启动私有仓库容器:docker start registry

  3. 执行:docker pull 私有仓库地址:5000/镜像名称

Docker出错

ae106ba3c124f2afd97214441c68113f.png

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值