docker进阶-使用详解

什么是docker:

  • Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。

docker 安装:

  • 卸载旧版本:
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
  • 安装新版本:
 #执行以下命令安装依赖包
 $ sudo yum install -y yum-utils
# 执行下面的命令添加 yum 软件源:
 $ sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

$ sudo sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

# 官方源
# $ sudo yum-config-manager \
#     --add-repo \
#     https://download.docker.com/linux/centos/docker-ce.repo
 #更新 yum 软件源缓存,并安装 docker-ce
 $ sudo yum install docker-ce docker-ce-cli containerd.io

docker镜像操作

  • 启动docker:sudo systemctl start docker

  • 获取镜像:docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
    例子:docker pusll centos:8

  • 运行镜像:docker run {容器id或容器名称}
    启动容器命令参数:

    • 定义容器名称--name 可定义容器的名称,比如docker run -d -i -t --name my_python python,启动容器并命名为my_python
    • 守护模式启动-d 参数内增加-d则是以守护模式启动,比如docker run -d mysql,以守护模式启动mysql
    • 交互模式启动容器-i -t 以交互模式启动容器,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上, -i 则让容器的标准输入保持打开,比如docker run -i -t -d python bash 以交互模式启动python
    • 映射容器端口-p 使用-p参数可将容器内的端口映射到主机的端口,这样我们通过映射到主机的端口就可以访问到容器内的端口,比如docker run -d -p 127.0.0.1:81:80 nginx:alpine,这样我们就可以通过127.0.0.1:81访问到容器内的80端口了,且可使用多个-p来映射多个端口,比如docker run -d -p 81:80 -p 433:433 nginx:alpine;注意假如要绑定 UDP 端口需要在端口号后面加 /udp,比如docker run -d -p 127.0.0.1:81:80/udp nginx:alpine
    • 挂载主机目录-v 使用-v参数可以将主机任意目录挂载到docker容器中,即使删除容器,数据也会保存在主机,格式-v 主机目录:docker内要挂载主机的目录,比如docker run -i -t -d -v /src/webapp:/usr/share/nginx/html nginx:alpine,该命令加载主机的 /src/webapp 目录到容器的 /usr/share/nginx/html目录
  • 获取当前已下载的镜像:docker image ls

  • 删除本地镜像:docker image rm [选项] <镜像1> [<镜像2> ...]
    例子:docker image rm python
    解释:删除python镜像

docker容器操作

  • 获取所有容器运行状态:docker ps -a
    运行状态详解如下图:
    在这里插入图片描述
  • 停止容器运行:docker stop {容器id或容器名称}
    例子:docker stop python
    解释:停止python容器
  • 启动容器:docker start {容器id或容器名称}
    例子:docker start python
    解释:启动python容器
  • 删除容器:docker rm {容器id或容器名称}
    例子:docker rm python
    解释:删除python容器
  • 进入容器:docker exec -it {容器id或容器名称} bash
    例子:docker exec -it python
    解释:进入python容器
  • 导出容器:docker export {容器id或容器名称} >{导出的文件名}
    例子:docker exprot python >python310.tar
    解释:将python容器导出为python310.tar
  • 导入容器:cat {要导入的文件} | docker import - {镜像名称}
    例子:cat python310.tar | docker import - python3
    解释:将 python310.tar导入为python3镜像,此时使用docker image ls 会发现出现python3名称的镜像
  • 查看容器内进程信息:docker top {容器id或容器名称}
    例子:docker top python
    解释:查看python容器下的进程信息
  • 查看容器内的日志:docker logs -f {容器id或容器名称}
    例子:docker logs -f python
    解释:查看python容器内的日志信息
  • 复制容器内的文件到主机:docker cp {容器id}:{容器文件地址} {要复制文件到主机的位置}
    例子:docker cp f13:/root/test.txt /home
    解释:将容器id-f13内root目录下的test.txt 文件拷贝到主机的home目录下
  • 复制主机的文件到容器内:docker cp {要复制文件到主机的位置} {容器id}:{容器文件地址}
    例子:docker cp /home/test.txt f13:/root
    解释:将主机的home目录下的test.txt文件拷贝到容器id为f13的root目录下
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第01章 课程介绍 1-1 导学.mp4 1-2 课程介绍.mp4 第02章 实战-“云存储”系统原型 2-1 “云存储”系统原型之简单文件上传服务架构说明.mp4 2-2 编码实战:“云存储”系统之实现上传接口.mp4 2-3 编码实战:“云存储”系统之保存文件元信息.mp4 2-4 编码实战:“云存储‘系统之实现单个文件查询信息接口.mp4 2-5 编码实战:“云存储”系统之实现文件下载接口.mp4 2-6 编码实战:“云存储”系统之实现文件修改接口+小结.mp4 第03章 “云存储”系统之基于MySQL实现的文件数据库 3-1 MySQL基础知识.mp4 3-2 MySQL主从数据同步演示.mp4 3-3 文件表的设计及创建.mp4 3-4 编码实战:“云存储”系统之持久化元数据到文件表.mp4 3-5 编码实战:“云存储”系统之从文件表中获取元数据.mp4 3-6 Docker入门基础文档.mp4 3-6 本章小结.mp4 3-7 Ubuntu中通过Docker安装配置MySQL主从节点.mp4 第04章 “云存储”系统之基于用户系统实现的资源隔离及鉴权 4-1 帐号系统介绍与用户表设计.mp4 4-2 编码实战:“云存储”系统之实现用户注册接口.mp4 4-3 编码实战:“云存储”系统之实现用户登录接口.mp4 4-4 编码实战:“云存储”系统之实现用户信息查询接口.mp4 4-5 接口梳理小结.mp4 4-6 编码实战:“云存储”系统之快速实现访问鉴权接口+小结.mp4 4-7 关于静态资源访问404的问题【补漏.mp4 第05章 “云存储”系统之基于Hash计算实现秒传 5-1 Hash算法对比及秒传原理.mp4 5-2 用户文件表设计与创建.mp4 5-3 编码实战:“云存储”系统之升级改造上传接口.mp4 5-4 编码实战:“云存储”系统之基于用户查询文件Hash信息.mp4 5-5 编码实战:“云存储”系统之实现秒传功能接口+小结.mp4 第06章 “云存储”系统之基于Redis实现分块上传及断点续传 6-1_分块上传与断点续传原理.mp4 6-2_编码实战:Go实现Redis连接池(存储分块信息).mp4 6-3_编码实战:实现初始化分块上传接口.mp4 6-4_编码实战:实现分块上传接口.mp4 6-5_编码实战:实现分块合并接口.mp4 6-6_分块上传场景测试+小结.mp4 6-7_文件断点下载原理.mp4 第07章 “云存储”系统之基于Ceph实现私有云存储服务 7-1_Ceph是什么.mp4 7-2_Ceph集群介绍及兼容亚马逊S3接口详解.mp4 7-3_编码实战:Go访问管理Ceph集群.mp4 7-4_编码实战:Go实现Ceph的文件上传下载+小结.mp4 7-5_Ubuntu下通过Docker快速搭建Ceph测试集群(单机部署).mp4 7-6_Centos7下Docker部署Ceph集群(nautilus最新版,多机部署).mp4 第08章 “云存储”系统之基于阿里云OSS实现海量数据上云 8-1_阿里云对象存储OSS简介.mp4 8-2_阿里云对象存储OSS特点.mp4 8-3_阿里云对象存储OSS专业术语.mp4 8-4_阿里云对象存储OSS控制台管理.mp4 8-5_编码实战:OSS上传文件.mp4 8-6_编码实战:OSS下载文件.mp4 8-7_编码实战:OSS对象生命周期管理等常用功能.mp4 8-8_阿里云OSS本章小结.mp4 第09章 “云存储”系统之基于RabbitMQ实现异步存储 9-1_Ubuntu下通过Docker安装RabbitMQ.mp4 9-2_关于任务的同步与异步.mp4 9-3_RabbitMQ简介.mp4 9-4_RabbitMQ工作原理和转发模式.mp4 9-5_Docker安装RabbitMQ及UI管理.mp4 9-6_编码实战_实现异步转移的MQ生产者.mp4 9-7_编码实战_实现异步转移的MQ消费者.mp4 9-8_编码实战_异步转移文件测试+小结.mp4 第10章 “云存储”系统之架构微服务化 10-1_基于Docker部署服务注册发现中心consul集群.mp4 10-2_微服务基础概念与原理.mp4 10-3_云存储系统之微服务架构(1).mp4 10-4_云存储系统之微服务架构(2).mp4 10-5_Web框架Gin基础介绍.mp4 10-6_编码实战_基于Gin改造用户service(1).mp4 10-7_编码实战_基于Gin改造用户service(2.mp4 10-8_gRPC与Protobuf基础原理.mp4 10-9_RPC框架go-micro基础介绍.mp4 10-10_编码实战_改造账号系统service.mp4 10-11_编码实战_改造api网关service.mp4 10-12_编码实战_改造文件上传service.mp4 10-13_综合测试演示+小结.mp4 第11章 “云存储”系统之k8s&Docker;容器化实战 11-1_Ubuntu18下通过kubeadm单机安装k8s(v1.14.1)集群.mp4 11-2_Ubuntu18下安装k8s(v1.14.1)可视化管理工具.mp4 11-3_DockerDocker-Compose基础概念.mp4 11-4_基于容器的微服务反向代理利器Traefik.mp4 11-5_基于Docker-compose与Traefik的容器化部署演示.mp4 11-6_Kubernetes基础原理.mp4 11-7_基于Kubernetes的容器化部署演示.mp4 第12章 “云存储”系统之持续集成部署 12-1_ubuntu下离线安装harbor1.6.mp4 12-2_持续构建之基础概念.mp4 12-3_基于gitlab+jenkins+harbor的自动化部署配置演示.mp4 第13章 课程总结 13-1_课程总结之章节重点及技能树温习.mp4

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值