Docker学习笔记,新手入门

Docker

安装

CentOS安装教程 官网教程,更详细
CentOS安装教程 阿里教程,快速安装
阿里云学习文档


基本概念

仓库:集中存放镜像的。(阿里云与网易云有仓库镜像)。
镜像:只读的模板,可以创建多个容器,例如mysql redis centOS 等;
容器:实例对象,是一个集装箱,可以把容器看作简易版的Linux环境
Docker deamon :Docker与外部客户端的通讯接口。后台的进程。

镜像与容器类似于java的对象:
P p1=new P1(); P p2=new P1(); //P相当于模板,p1相当于实例;
我们把(java代码,环境,配置文件…)–>images镜像文件–>Docker容器

Doker比虚拟机 瘦在哪里?

  1. 干掉Hypervisor 操作系统内核-> docker engine
  2. 不需要硬件资源,利用宿主机的操作系统。

命令

基本命令
  1. docker search:从dockerhub上搜索镜像的名字 (docker search -s 30 tomcat --no-trunc )
    选项: -s 30 :筛选星标30 --no-trunc : 显示所有信息
  2. docker pull: 下载镜像(从换过的源),可以从dockerhub上搜索结果复制命令。
    注意: docker pull tomcat:latest 加版本号,默认latest
  3. docker rmi (remove image)删除镜像
    docker rmi h1 h2 删除多个,用空格分开。

注意:如果后台有容器运行需要docker rmi -f hello-world 强制删除

  1. docker rm 删除容器实例。

容器:
  1. 新建并启动容器:docker run [optinos] IMAGE 本地有image则用,无则从远处拉
    options:
    - -d后台 运行容器 //注意,这里直接-d会立即自杀,必须有前台应用
    - --name 指定名字
    - -p 随即端口 -P 指定端口
    - -i 以交互模式启动
    - -t为容器分配一个伪终端(-it 配合使用)

eg: docker run -it centos //在docker中使用centos,并直接打开

  1. 查看运行的容器:docker ps (-l:上一个容器 -a 当前和历史; -q:只显示id)
  2. 退出容器 exit:关闭容器并退出Ctrl+P+Q`:不关闭容器,退出 (用什么方式重新打开?)
  3. 启动容器: docker start +id (ps查id)
  4. 停止容器: docker stop //温柔
  5. 强制停止容器: docker kill //拔电源
  6. 删除已停止的容器 docker rm 容器ID
  7. 查看容器日志 docker logs -f -t --tail 容器ID (-t加入时间戳 -f 刷新日志)
    查看容器内部进程 docker top 容器ID
  8. 进入正在运行的容器
    docker attach 容器ID 进入容器
    docker exec 容器ID 进入容器 或 (不进去)执行一个任务 很重要!

docker exec -it 123 /bin/bash
docker attach 123
进入容器,显示到终端。

  1. 从容器中拷贝数据到主机

docker cp 容器ID:/tmp/a.log /root //把a.log 拷贝到主机/root下


镜像

特点:一种轻量级,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件。包括代码,云从事,库,环境变量,配置文件。
UnionsFS联合文件系统:一种分层,轻量级的文件系统。对文件系统的修改作为一次提交层层叠加。是docker分层继承的基础斜体样式。
Docker加载原理

  • bootfs :包括最基本命令,工具,程序库(内核来自宿主机) ;
  • rootfs :控制Centos,Ubntu等发行版本。

思考 :
Centos与Ubntu的Linux版本中,bootfs是否相同?
——相同
UnionsFS联合文件系统的优点?
—— 复用,共享资源。

  1. docker commit 提交容器副本,成为一个新的镜像 .

eg. docker commit -m="描述" -a="作者" 容器ID 目标镜像名字:[标签名]
根据容器生成镜像! 很重要!!!
案例学习:
docker run -it -p 8888:8080 tomcat (小写p,主机端口:docker容器端口)
docker run -it -P tomcat (大写P,随机分配端口)

  1. 容器卷:保存容器中数据,数据持久化。容器之间,主机与容器之间,共享数据。相当于挂载!可以使得主机与容器内同步更新!
    docker run -it -v /主机绝对路径:/容器内目录 镜像名
    docker run -it -v /主机绝对路径:/容器内目录:ro 镜像名 只读

完整版学习笔记已于另一篇博客完结,请查看完整版学习笔记

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值