• 一些docker笔记


    一些docker笔记

    docker是一个跨平台,可迁移的应用虚拟化,容器化服务平台
    
    Docker口号1:Build,Ship and Run (构建,发送和运行)
    Docker口号2: Build once,Run anywhere (构建一次,到处能用)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    docker一些概念

    docker仓库

    官方有dockeHub仓库,
    也可以使用阿里、网易、华为的docker公共仓库,
    也可以自己搭建一个Habor仓库(私有docke仓库,这个东西类似于你们公司的maven私服)
    
    • 1
    • 2
    • 3

    docker镜像

    包含docker官方提供的,和第三方提供的app镜像,以及你自己build构建的镜像;
    
    docker镜像拉取后,会占用宿主机磁盘空间,所以不用的镜像要及时清理掉.
    
    • 1
    • 2
    • 3

    docker容器

    根据已拉取的/已存在的docker镜像创建的app容器实例;
    容器的运行,相当于vmware虚拟机的运行;
    容器有自己的ip,在宿主机可以访问到;
    容器内的app的port端口,可以通过配置映射到宿主机port;
    
    docker容器第一次启动后,即开始占用宿主机磁盘空间,停止容器后,依然会占用宿主机磁盘空间,
    所以确定永久不用的容器要及时清理掉.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    docker命令

    docker默认没有提供可视化控制界面,而是提供了很多docker命令来操作docker;
    (linux平台也可以使用第三方开发的docker可视化管理界面,如Potainer,
    win10+平台可以直接安装桌面版s本的docker-desktop)
    
    • 1
    • 2
    • 3

    请添加图片描述


    一些docker命令

    docker 镜像相关操作命令

    查看所有镜像

    docker images
    
    • 1

    请添加图片描述


    构建一个镜像(不同语言/不同项目 构建镜像的方式类似,这里以xxx.jar制作docker镜像为例)

    核心命令(最后的.不能忘记)
    docker build -t 镜像名:版本号 .
    
    • 1
    • 2

    请添加图片描述

    1.新建一个目录,如 /usr/local/docker/app
    2.在这个目录里放入提前准备的xxx.jar和Dockerfile文件
    3.执行命令docker build -t app:1.0.1 .
    
    • 1
    • 2
    • 3

    请添加图片描述

    Dockerfile文件的编写
    常用内容主要有:
    FROM openjdk:8-jre         (基础镜像配置)
    MAINTAINER thinkpet         (镜像制作人)
    ADD licc.jar  app.jar      (镜像内部动作,这里意思是添加一个licc.jar 并命名为app.jar)
    EXPOSE  8913              (配置镜像需要暴露的port端口)
    ENTRYPOINT ["java","-jar","app.jar"]         (镜像内部应用的启动命令)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    这里讲的Dockerfile文件的编写较为基础,更复杂的写法请自行百度

    请添加图片描述

    请添加图片描述

    最后构建完成后,可以在docker镜像列表里查看到刚刚构建的镜像信息(tag,id ,size)


    另存现有的镜像为tar文件

    docker save 镜像id  >  /xxx/xxx.tar
    
    • 1

    按id删除现有的某个镜像

    docker image rm de940896316d
    
    • 1

    请添加图片描述

    安装(加载) 离线下载的镜像

    docker load < /xxx/xxxx.tar
    
    • 1

    请添加图片描述

    docker镜像打标记

    docker tag  镜像id  名称:版本号
    
    • 1

    请添加图片描述


    docker 容器相关操作命令

    根据镜像创建并启动一个容器实例

    格式 docker run  可选运行参数   镜像名:镜像版本号
    (-d 后台运行)
    (--restart docker重启后自启动容器)
    (--name 定义容器实例名)
    (-p 配置端口映射 宿主机port:容器内应用的port)
    
    docker run -d --restart=always --name demo -p 8913:8913 app:1.0.3
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    请添加图片描述

    创建1个新容器但不启动它

    docker create 可选参数 镜像名:镜像版本号
    
    docker create  --restart=always --name demo3 -p 8910:8913 app:1.0.3
    
    • 1
    • 2
    • 3

    请添加图片描述

    查看目前所有的docker容器

    docker ps -a
    
    • 1

    请添加图片描述

    查看正在运行中的docker容器

    docker ps
    
    • 1

    请添加图片描述

    实时查看某个docker容器的运行日志

    docker logs -f 容器id
    
    • 1

    请添加图片描述

    停止某个正在运行的容器

    docker stop 容器id
    
    • 1

    请添加图片描述

    恢复某个停止的容器

    docker start 容器id
    
    • 1

    请添加图片描述

    删除不需要的容器(删除前必须先停止这个容器)

    docker rm 容器id
    
    • 1

    请添加图片描述

    进入到某个容器内部的bash命令行

    docker exec -it 容器id /bin/bash
    
    • 1

    请添加图片描述


    docker服务器监控相关命令

    显示docker服务器信息,镜像数,容器数

    docker info
    
    • 1

    请添加图片描述

    查看docker服务器的版本号

    docker -v
    
    • 1

    查看docker服务器的详细版本信息

    docker version
    
    • 1

    请添加图片描述

  • 相关阅读:
    CURDATE()和NOW()区别
    FFmpeg内存IO模式
    Direct Sparse Mapping reading notes -- Initialization
    【文献阅读】【NMI 2022】LocalTransform :基于广义模板的有机反应性准确预测图神经网络
    网络授时服务器(NTP授时系统)售后与安装步骤
    Vue学习体验
    如何用 CMake 生成 C++ 库(支持 find_package 机制)
    java 企业工程管理系统软件源码 自主研发 工程行业适用
    Axes3D绘制3d图不出图解决办法【Python】
    蓝队应急响应之Linux篇
  • 原文地址:https://blog.csdn.net/ThinkPet/article/details/132865063