Docker入门笔记

Docker 技术的三大核心概念

  • 镜像 Image

  • 容器 Container

  • 仓库 Repository

    在线练习docker https://labs.play-with-docker.com/
    URL 工具 curl 的用法指南 https://www.ruanyifeng.com/blog/2019/09/curl-reference.html
    Docker部署一个web项目并打包成镜像文件 https://www.jb51.net/article/146308.htm
    Kubernetes能做什么 一般来讲Kubernates是针对容器提供部署、维护、扩展机制等功能,更方便地管理跨机器运行容器化的应用

    使用场景

    1. 解决环境不一致
    2. 多用户操作系统,会相互影响
    3. 运维成本过高
    4. 安装软件成本过高

    docker的思想

    1. 集装箱 放着所有的需要的内容
    2. 标准化
      1.运输的标准化
      2.命令的标准化
      3.提供rest的api

    3 . 隔离性

    • 在内核中开辟独立空间
    • 三个基本概念
    • 注册中心

    抽象理解

    ​ 镜像 == 类
    ​ 容器 == 对象
    ​ 容器与镜像的关系类似于面向对象编程中的对象与类

docker的基本操作

一、安装docker

1.下载docker的依赖环境

yum -y install yum-utils device-mapper-persistent-data 1vm2

2.设置镜像源

yum-cofig-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装docker

yum makacache fast   
命令行工具
yum -y install docker-ce

4.启动并设置为开机自启

  • systemctl start docker
  • systemctl enable docker
  • docker run hello-world 测试

二、 docker的中央仓库

1.  官方的中央仓库:安全 速度慢  hub.docker.com
2.  国内 网易蜂巢 c.163yun.com/hub#/home daoCloud hub.daocloud.io(推荐) 
3.  公司内部会采用私服的方式拉取镜像 需要配置

需要在/etc/docker/daemon.json 加上

{

  "registry-mirrors":["https://registry.docker-cn.com"],

  "insecure-registries":["ip:port"]

 }

重启两个服务

  • systemctl daemon-reload
  • systemctl restart docker

三、 镜像的操作

  1. 拉取镜像到本地 docker pull 镜像路径:版本号
  2. 查看本地所有镜像 docker images
  3. 删除镜像 docker rmi 容器ID ID不必全部
  4. 镜像的导入导出
    • 导出 docker save -o 导出路径 镜像ID
    • 导入 docker load -i 文件路径
    • 修改镜像名称 docker tag 镜像ID 新镜像名称:版本

四、 容器的操作

  1. docker run 镜像的标识|镜像[:tag]
    常用的参数
    docker run -d -p 宿主端口:容器端口 --name 容器名称 镜像的标识|镜像[:tag]
    -d 代表后台运行的容器
    -p 宿主端口:容器端口 为了映射当前linux的端口和容器的端口
    –name 容器名称:指定的容器的名称
  2. 查看正在运行的容器
    docker ps [-qa]
    -a 查看全部 包括没有运行的
    -q 只查看容器的标识
  3. 查看容器的日志
    docker logs -f 容器ID
    -f 可以滚动查看日志的最后几行
  4. 进入容器内部
    docker exec -it 容器id bash
  5. 删除容器
    docker stop 容器ID
    docker stop $(docker ps -qa) 停止全部容器
    docker rm 容器ID
    docker rm $(docker ps -qa) 删除全部容器

五、Docker的应用

  1. 准备项目包
  2. 准备mysql容器
    docker run -d -p 3306:3306 --name mysql -e MYSQL_PASSWORD=root daocloud.io/library/mysql:5.7.4
  3. 准备php容器
    –同上
  4. 准备nginx容器
    –同上
    把项目包复制到网站根目录下
    docker cp 文件名称 容器id:容器内部路径

六、数据卷
概念:将宿主机的一个目录映射到容器的一个目录中

  1. 创建数据卷
    docker volume create 数据卷名称
    创建之后,默认会存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_data
  2. 查看数据卷的详细信息
    docker volume inspect 数据卷名称
  3. 查看全部数据卷
    docker volume ls
  4. 删除数据卷
    docker volume rm 数据卷名称
  5. 应用数据卷
    当你映射数据卷时,如果不存在会自动创建
    docker run -v 数据卷名称:容器内部的路径 镜像ID
    直接指定一个路径为数据卷的存放位置
    docker run -v 路径:容器内部的路径 镜像ID
  6. docker自定义镜像
    • 创建一个Dockerfile文件,并且指定自定义镜像信息
      Dockerfile常用的内容
      from 指定当前自定义的依赖环境
      copy 将相对路径下的内容复制到自定义镜像中
      workdir 声明镜像的默认工作目录
      cmd 需要执行的命令 在workdir下执行 cmd写多个 以最后一个为准
      举个栗子
      from daocloud.io/library/tomcat:8.5.15-jre8
      copy ssm.war /usr/local/tomcat/webapps
    • 将准备好的Dockerfile相应的文件拖拽到Linux中,通过docker命令制作镜像
      docker build -t 镜像名称[:tag] .
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值