docker cp拷贝文件_Docker基础知识
简介优点:与传统虚拟机相比,Docker优势体现在启动速度快,占用体积小Docker是一个客户端-服务器(C/S)的架构程序Docker镜像与容器:镜像是用来运行容器,一个镜像可以构建多个容器Registry(注册中心):Docker用Registry来保存用户的镜像,用户可以在DockerHub保存自己的镜像安装和启动Centos7.x版本安装# 更新源sudo yum update#...
简介
优点:与传统虚拟机相比,Docker优势体现在启动速度快,占用体积小
Docker是一个客户端-服务器(C/S)的架构程序
Docker镜像与容器:镜像是用来运行容器,一个镜像可以构建多个容器
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
上传镜像到私有仓库
对需要上传的镜像打标签:docker tag 镜像名称 私有仓库地址:5000/镜像名称
启动私有仓库容器:docker start registry
上传:docker push 私有仓库地址:5000/镜像名称
下载私有仓库镜像
重复搭建的命令
启动私有仓库容器:docker start registry
执行:docker pull 私有仓库地址:5000/镜像名称
Docker出错
更多推荐
所有评论(0)