Docker

作者: 极速魔法 | 来源:发表于2022-09-04 14:52 被阅读0次

    Docker概念

    Docker Engine,它是一个客户端 - 服务器应用程序

    REST API指定与守护进程交互的接口 ,命令行接口(CLI)与守护进程通信

    Docker基本组成

    • docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
    • docker仓库(Registry):用来保存各种打包好的软件镜像;仓库分为公有仓库和私有仓库。(很类似
      maven)
    • docker镜像(Images):软件打包好的镜像;放在docker仓库中;
    • docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

    Docker命令

    # 版本
    docker info
    docker version
    
    docker images
    
    # 删除镜像
    docker image rm tomcat:9.0.20-jre8-alpine
    
    # 制作镜像压缩包
    docker save tomcat:9.0.20-jre8 -o tomcat9.0.20.tar
    
    # 导入镜像
    docker load -i tomcat9.0.20.tar
    
    # 镜像信息
    docker inspect tomcat:9.0.20-jre8
    docker inspect -f {{".Size"}} tomcat:9.0.20-jre8
    
    docker tag 原镜像 新镜像
    
    # 运行容器.-p 主机端口:容器端口(容器端口映射到主机端口)
    docker run -it --rm -p 8080:8080 tomcat:9.0.20-jre8-alpine
    
    # 容器名称 tomcat9
    docker run -itd --name tomcat9 -p 8080:8080 tomcat:9.0.20-jre8-alpine
    # 查看容器
    docker ps
    
    # 容器shell
    docker exec -it {id} /bin/bash
    
    # 查看log
    docker logs -f tomcat9
    
    docker stop tomcat9
    docker rm tomcat9
    
    # 创建容器
    docker create -it --name tomcat9 -p 8080:8080 9.0.20-jre8-alpine
    

    容器

    容器是在隔离环境运行的一个进程,代码和环境打包的集合

    网络

    # 查看container网络
    docker network inspect bridge
    
    # 创建自定义网络
    docker network create -d bridge my-lagou-bridge
    
    # 自定义网络
    docker create -itd --name --network lagou-bridge tomcat9 -p 8080:8080 9.0.20-jre8-alpine
    
    docker network inspect lagou-bridge
    
    # 容器绑定到lagou-bridge
    docker network connect lagou-bridge nginx2
    

    数据卷

    • 数据卷可以在容器之间共享数据
    • 数据卷默认一直存在,即使容器删除

    类型:

    1. 宿主机数据卷
    2. 命名数据卷
    3. 匿名数据卷

    docker run -it -v /宿主机目录:/容器目录

    Docker Compose

    Docker Compose 容器编排工具

    docker-compose.yml

    4 个一级 key:

    • version
    • services
    • networks
    • volumes
    # 后台启动
    docker-compose up -d
    
    # 停止删除
    docker-compose down
    

    Dockerfile

    Dockerfile

    FROM mysql:5.7.31
    # 作者信息
    MAINTAINER mysql from date UTC by Asia/Shanghai "laosiji@lagou.com"
    ENV TZ Asia/Shanghai
    
    # 制作镜像,--rm :设置镜像成功后删除中间容器
    docker build --rm -t 192.168.198.101:5000/lagouedu/mysql:5.7 .
    

    相关文章

      网友评论

          本文标题:Docker

          本文链接:https://www.haomeiwen.com/subject/nmkmnrtx.html