Docker 基本管理

目录

1.架构类型

2.应用产品

3.容器特点

4.六项隔离

5.Docker核心概念

        镜像

        容器

        仓库

6.安装docker

7.命令

镜像操作

容器操作

8.docker网络


1.架构类型

        寄居架构        真实的操作系统上安装虚拟化软件然后再虚拟机上安装虚拟化系统 稳定性不高 真机掉了 虚拟机也掉(个人搭建)

        原生架构        虚拟软件直接按在硬件上 不依赖操作系统 稳定

2.应用产品

        vmware workstation                个人在windows安装虚拟机

        vmFUsion                                个人机器MAC安装虚拟机

        EXSI (vmware vsphere)          全虚拟化 直接用物理硬件 高性能        (原生)

        Xen (xen hypervisior)              kernel-xen 内核

        KVM rehl 6

3.容器特点

        灵活:即使是最复杂的应用也可以集装箱化

        轻量级:容器利用并共享主机内核       

        可互换:可以即时部署更新和升级        

        便携式:可以在本地构建,部署到云,并在任何地方运行        

        可扩展:可以增加并自动分发容器副本        

        可堆叠:可以垂直和即时堆叠服务

4.六项隔离

namespace系统调用参数  隔离内容
UTS CLONE_NEWUTS主机名与域名
IPCCLONE_NEWWIPC 信号量、消息队列和共享内存
PID    CLONE_NEWPID进程编号
NETWORKCLONE_NEWNET网络设备、网络栈、端口等
MOUNT  CLONE_NEWNS  挂载点(文件系统)
USER CLONE_NEWUSER用户和用户组(3.8以后的内核才支持)

5.Docker核心概念

        镜像

Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker 容器引擎的只读模板。
通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。
Docker镜像也是一个压缩包,只是这个压缩包不只是可执行文件,环境部署脚本,它还包含了完整的操作系统。因为大部分的镜像都是基于某个操作系统来构建,所以很轻松的就可以构建本地和远端一样的环境,这也是Docker镜像的精髓。

        容器

Docker的容器是从镜像创建的运行实例,它可以被启动、停止和删除。所创建的每一个容器都是相互隔离、互不可见,以保证平台的安全性。
可以把容器看做是一个简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序。

        仓库

Docker仓库是用来集中保存镜像的地方,当创建了自己的镜像之后,可以使用push命令将它上传到公有仓库(Public)或者私有仓库(Private)。当下次要在另外一台机器上使用这个镜像时,只需从仓库获取。

Docker 的镜像、容器、日志等内容全部都默认存储在 /var/lib/docker 

6.安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2

#设置阿里云镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
docker-ce-20.10.18
systemctl start docker.service
systemctl enable docker.service 

7.命令

        docker version        查看docker版本                docker info        信息查看

镜像操作

        搜索镜像                                                  docker search 关键字        

        获取镜像                                                  docker pull 仓库名称        

        查看本地所有镜像                                    docker images

        根据镜像标识ID获取详细信息                  docker inspect 镜像ID号

        为本地的镜像添加新的标签                      docker tag 名称:标签 新名称:新标签

        删除镜像                                                   docker rmi 仓库名称:标签 或 docker rmi 镜像ID号  

                        ###  如果该镜像已经被容器使用,正确的做法是先删除依赖该镜像的所有容器,再去删除镜像

        存出镜像 将镜像保存成为本地文件          docker save -o 存储文件名 存储的镜像

        载入镜像 将镜像文件导入到镜像库中      docker load < 存出的文件 或 docker load -i 存出的文件

容器操作

        容器创建                               docker create [选项] 镜像

                        ### 常用选项:
                                -i:让容器开启标准输入
                                -t:让 Docker 分配一个伪终端 tty
                                -it :合起来实现和容器交互的作用,运行一个交互式会话 shell

        查看容器的运行状态              docker ps -a(查看所有容器运行状态)

        启动容器                                docker start 容器的ID/名称

        创建并启动容器                     docker run 容器ID

              可以直接执行 docker run 命令 等同于先执行 docker create 命令 再执行 docker start 命令

        终止容器运行                        docker stop 容器的ID/名称

        容器的进入                           docker exec -it 容器ID/名称 /bin/bash

        复制到容器中                    echo abc123 > ~/test.txt     docker cp ~/test.txt 容器ID:/opt/

        从容器复制文件到主机        docker cp 容器ID:/opt/test.txt ~/abc123.txt

        容器的导出与导入              出 docker export 容器ID/名称 > 文件名

                                                  入 cat 文件名 | docker import – 镜像名称:标签

        删除容器                           docker rm [-f] 容器ID/名称(要先stop终止)

8.docker网络

        Docker 的网络模式

                Host:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口

                Container:创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围

                None:该模式关闭了容器的网络功能

                Bridge:默认为该模式,此模式会为每一个容器分配、设置IP等,并将容器连接到一个docker0虚拟网桥,通过docker0网桥以及iptables nat 表配置与宿主机通信

                            ###    查看docker网络列表                docker network ls 或 docker network list

                        ###     使用docker run创建Docker容器时,可以用 --net 或 --network 选项指定容器的网络模式
        host模式:使用 --net=host 指定
        none模式:使用 --net=none 指定
        container模式:使用 --net=container:NAME_or_ID 指定
        bridge模式:使用 --net=bridge 指定,默认设置,可省略

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值