zoukankan      html  css  js  c++  java
  • Docker基本使用

    核心构想

    对应用封装 分发 部署 运行生命周期进行管理,达到应用组件“一次封装,处处运行”的目的。

    安装 brew cask install docker

    三大核心概念

    镜像(images 即文件,运行时会生成容器):

    比如说Apache应用程序等,本身是只读的,从镜像启动的时候,会在镜像的最上层创建一个可写层。

    docker images 来列出所有镜像。

    下载镜像:docker pull java:1.8.111

    搜索镜像:docker search httpd

    重命名: docker tag 8404509de7d9 name:tag

    容器:

    类似于沙箱,利用容器来运行和隔离应用

    docker ps 查看容器内的应用

    docker stop 容器ID 停止应用

    docker rm 容器ID 移除应用

    仓库:

    类似于代码仓库,是Doceker集中存放镜像文件的场所

    分为公开仓库和私有仓库两种形式。

    push命令上传,pull下来。(跟git相似)

    集成java:

    Dockerfile文件

    FROM为使用哪个镜像

    VOLUME为挂载路径

    ADD为复制文件到镜像中

    RUN为初始化时运行的命令

    ENV为设置环境变量

    ENTRYPOINT为启动时运行的命令

    打包 及 推送打包 运行

    mvn package docker:build

    mvn package docker:build -DpushImage

    docker run -p 8080:8080 -t app7

     

    清理image:

    1.进入root权限

    sudo su

    2.停止所有的container,这样才能够删除其中的images:

    docker stop $(docker ps -a -q)

    如果想要删除所有container的话再加一个指令:

    docker rm $(docker ps -a -q)

    3.查看当前有些什么images

    docker images

    4.删除images,通过image的id来指定删除谁

    docker rmi <image id>

    想要删除untagged images,也就是那些id为<None>的image的话可以用

    docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

    要删除全部image的话

    docker rmi $(docker images -q)

     

    集成redis:

    启动 docker run --name some-redis -d redis

  • 相关阅读:
    fail-fast以及Iterator对象
    LeetCode~1351.统计有序矩阵中的负数
    LeetCode~75.颜色分类
    LeetCode~5364. 按既定顺序创建目标数组
    LeetCode~945.使数组唯一的最小增量
    LeetCode~409. 最长回文串
    笔记: SpringBoot + VUE实现数据字典展示功能
    JSON parse error: Cannot deserialize value of type `java.util.Date` from String
    为什么要用location的hash来传递参数?
    初识Git
  • 原文地址:https://www.cnblogs.com/pzyin/p/8410432.html
Copyright © 2011-2022 走看看