docker 原理 命令 通俗解读

docker
docker出现背景
传统:jar包 ---- 运维部署环境(与测试环境不是同一个 可能出现各种各样的问题)
docker: jar包 — 写dockerfile文件 打包项目带上环境 -----上传仓库 ----下载镜像 运行

docker的本质 :对进程进行封装隔离,而被隔离的进程也被称为容器,完全独立于宿主机的进程。
·
在这里插入图片描述
docker的镜像为分层结构 所有docker镜像都起始于一个基础镜像层,当进行修改或增加新的内容时,就会在当前镜像层之上,创建新的镜像层。

镜像(Image):镜像为容器运行提供 程序、环境、资源

镜像操作常用命令
docker search 镜像名 在dockerhub中搜索镜像
docker pull 镜像名 从dockerhub中拉取到本地
docker push 镜像名 将本地镜像上传至仓库
docker build 使用 Dockerfile 创建镜像

                 -f :指定要使用的Dockerfile路径;
                 -m :设置内存最大值;
                 --rm :设置镜像成功后删除中间容器;
                 --network: 默认 default。在构建期间设置RUN指令的网络模式
                 --tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签

容器(Container):根据镜像中的程序、配置 创建出的运行程序

docker ps 正在运行的容器

            -a                      所有已创建的容器      
             -l                      最近创建的容器

docker inspect 获取容器的元数据 (json格式)
docker attach 连接到正在运行的容器中
docker run 创建新容器

                    -d     后台运行
                    -it    设置交互终端
                    --name=   容器名
                    -v             挂载目录
                    -p   宿主机端口:容器端口          映射端口

仓库(Repository):存放镜像的仓库,可从仓库拉取镜像

基本命令
docker image ls 列出所有镜像
docker pull xxxx 从仓库拉取镜像
dockere image rm image_name/image_id 删除镜像
docker run -it 镜像名 /bin/bash 根据镜像创建容器
docker start container_id 启动容器
docker stop container_id 停止容器
docker ps 查看所有运行中的容器
docker ps -a 查看所有容器
docker rm container_id 删除容器
docker container prune 删除所有退出的容器

docker 数据卷
docker容器中产生的数据 同步到宿主机
一方改变会引起另一方的改变

dockerfile

docker 网络
这里真是个坑
windows 与 linux 两个docker版本在网络的实现方面有很大的不同
linux宿主机 中会有 docker0网桥 (相当于一台交换机)而创建的所有容器都在这个网段
并且 宿主机可以ping通容器

windows版本 中没有docker0网桥 访问方式类似vpn直连 通过映射端口访问容器应用
但是宿主机无法ping通 容器 容器可以ping通宿主机

另外同一宿主机上的容器 可以互通

官网原文
在这里插入图片描述
docker官方文档链接:https://docs.docker.com/docker-for-windows/networking/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值