docker重点笔记

基础核心指令

// 登录自己的Hub,可以官网注册个,方便存储私有镜像
docker login
 
镜像部分:
// 查看镜像
docker images
// 搜索flink相关镜像
docker search flink
// 拉取自身Hub或者官方镜像
docker pull yyoc97/dev:test
// 推送远程仓库
docker push yyoc97/dev:test
// 删除镜像  -f强制,(容器操作rm,参数类似)
docker rmi 容器name/id -f
// 保存hello-world镜像到本地
docker save -o hello.tar hello-world
// 装载本地ubuntu_test镜像到docker环境,再使用docker images查看
docker load < ubuntu_test.tar 
// 通过Dockerfile创建镜像, /tmp/docker_builder/为Dockerfile路径,build_repo/first_image为生成镜像标签
docker build -t build_repo/first_image /tmp/docker_builder

容器部分:
// 查看容器,-a全部,-q停止中的 
docker ps -a -q
// 根据镜像单独创建容器,返回容器id,
docker create ubuntu:lastest
// 直接运行创建,-d后台运行,--name名字为test,--add-host初始网络映射,-v挂载目录,-p 指定端口映射,-P随机端口,
docker run -d --name test --add-host server.shop.test.com:10.40.10.29  -v  /data/logs/test:/data/logs -p 8600:8080 jar-app 
// 启动、停止或者重启容器
docker start/stop/restart  容器name/id
// 进入docker终端
docker exec -it 容器id或容器名  /bin/bash
// 共享其他容器数据卷 --volumes-from
docker run -d --volumes-from dbdata --name db1 nginx
// 容器互联,容器可以共享网络,run的启动参数带上
--link name:alias

相关原理

原理

Docker 的基础是Linux容器(LXC)等技术。在LXC的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。Linux 命名空间、控制组和 UnionFS 三大技术支撑了目前 Docker 的实现,也是 Docker 能够出现的最重要原因。

  • NameSpace
    是 Linux 为我们提供的用于分离进程树、网络接口、挂载点以及进程间通信等资源的方法
  • Cgroups:
    Cgroups是Linux内核功能,它让两件事情变成可能:限制Linux进程组的资源占用,列如:CPU、内存、磁盘 I/O 和网络带宽。
  • Union文件系统:
    在union文件系统里,文件系统可以被装载在其他文件系统之上,其结果就是一个分层的积累变化。
优势
  • 高效的部署和扩容
  • 更高的资源利用率
  • 更简单的管理

常见异常

Error response from daemon: No such container: bd1

操作容器时,有时候不能通过容器name,要根据id来指定。可能是有些名字被系统预暂用的缘故。

Dockerfile样例

一般而言,分为四部分:基础镜像信息,维护者信息、镜像操作指令和容器启动时执行指令。

# 第一行必须指定基于的基础镜像
FROM ubuntu

# 维护者信息
MAINTAINER docker_user docker_user@email.com

# 镜像操作指令,可以多条
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN bash -c 'touch test.txt'

# 容器启动时执行指令
CMD /user/sbin/nginx

编排和监控

资源管控一直是生产环境中不容忽视的重点,常用的组件有k8s、CAdvisor、DataDog等

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值