一些docker笔记

2023-09-13 21:26:11

一些docker笔记

docker是一个跨平台,可迁移的应用虚拟化,容器化服务平台

Docker口号1:Build,Ship and Run (构建,发送和运行)
Docker口号2: Build once,Run anywhere (构建一次,到处能用)


docker一些概念

docker仓库

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

docker镜像

包含docker官方提供的,和第三方提供的app镜像,以及你自己build构建的镜像;

docker镜像拉取后,会占用宿主机磁盘空间,所以不用的镜像要及时清理掉.

docker容器

根据已拉取的/已存在的docker镜像创建的app容器实例;
容器的运行,相当于vmware虚拟机的运行;
容器有自己的ip,在宿主机可以访问到;
容器内的app的port端口,可以通过配置映射到宿主机port;

docker容器第一次启动后,即开始占用宿主机磁盘空间,停止容器后,依然会占用宿主机磁盘空间,
所以确定永久不用的容器要及时清理掉.

docker命令

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

请添加图片描述


一些docker命令

docker 镜像相关操作命令

查看所有镜像

docker images

请添加图片描述


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

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

请添加图片描述

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

请添加图片描述

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

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

请添加图片描述

请添加图片描述

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


另存现有的镜像为tar文件

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

按id删除现有的某个镜像

docker image rm de940896316d

请添加图片描述

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

docker load < /xxx/xxxx.tar

请添加图片描述

docker镜像打标记

docker tag  镜像id  名称:版本号

请添加图片描述


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个新容器但不启动它

docker create 可选参数 镜像名:镜像版本号

docker create  --restart=always --name demo3 -p 8910:8913 app:1.0.3

请添加图片描述

查看目前所有的docker容器

docker ps -a

请添加图片描述

查看正在运行中的docker容器

docker ps

请添加图片描述

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

docker logs -f 容器id

请添加图片描述

停止某个正在运行的容器

docker stop 容器id

请添加图片描述

恢复某个停止的容器

docker start 容器id

请添加图片描述

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

docker rm 容器id

请添加图片描述

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

docker exec -it 容器id /bin/bash

请添加图片描述


docker服务器监控相关命令

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

docker info

请添加图片描述

查看docker服务器的版本号

docker -v

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

docker version

请添加图片描述

更多推荐

数据结构:树和二叉树之-堆排列 (万字详解)

目录树概念及结构1.1树的概念1.2树的表示​编辑2.二叉树概念及结构2.1概念2.2数据结构中的二叉树:​编辑2.3特殊的二叉树:​编辑2.4二叉树的存储结构2.4.1顺序存储:2.4.2链式存储:二叉树的实现及大小堆排列1功能展示2定义基本结构3初始化4打印5销毁6插入7向上调整8交换两数组元素之间的值9删除10向

Kubernetes(K8S)集群部署

目录一、创建3台虚拟机二、为每台虚拟机安装Docker三、安装kubelet3.1安装要求3.2为每台服务器完成前置设置3.3为每台服务器安装kubelet、kubeadm、kubectl四、使用kubeadm引导集群4.1master服务器4.2node1、node2服务器4.3初始化主节点4.4work节点加入集群

【C语言趣味教程】(1) 深入浅出 HelloWorld:通过 HelloWorld 展开教学 | 头文件详解 | main 函数详解

🔗《C语言趣味教程》👈猛戳订阅!!!💭写在前面:这是一套C语言趣味教学专栏,目前正在火热连载中,欢迎猛戳订阅!本专栏保证篇篇精品,继续保持本人一贯的幽默式写作风格,当然,在有趣的同时也同样会保证文章的质量,旨在能够产出"有趣的干货"!本系列教程不管是零基础还是有基础的读者都可以阅读,可以先看看目录!标题前带星号(

第二证券:什么是a股b股?

在我国的股市中,我们经常会听到“A股”和“B股”这两个名词。那么,终究什么是A股和B股呢?首先,A股全称为“A股票”,是指在我国境内上市的以人民币计价的股票。A股首要面向国内出资者,只要具有必定条件的内地居民和安排出资者才可出资A股。此外,A股还分为两种:人民币A股和港币A股。前者是在我国境内发行的A股,后者则是在香港

Redis 面试题——缓存穿透、缓存击穿和缓存雪崩

目录1.缓存穿透2.缓存击穿3.缓存雪崩4.总结参考文章:缓存实战(1)缓存雪崩、缓存击穿和缓存穿透入门简介及解决方案1.缓存穿透(1)问题描述:缓存穿透是指在高并发场景下,大量的请求访问一个不存在于缓存中也不存在于数据库中的数据,导致每次请求都要查询数据库,增加了数据库的负载。通常发生在恶意攻击、频繁访问不存在的数据

OSCP系列靶场-Esay-Moneybox保姆级

OSCP系列靶场-Esay-Moneybox目录OSCP系列靶场-Esay-Moneybox总结准备工作信息收集-端口扫描目标开放端口收集目标端口对应服务探测信息收集-端口测试21-FTP端口的信息收集21-FTP版本版本信息21-FTP端口匿名登录测试(存在)21-FTP端口-文件GET收集21-FTP端口-PUT上

微服务 第一章 Java线程池技术应用

系列文章目录第一章Java线程池技术应用文章目录系列文章目录@[TOC](文章目录)前言1、Java创建线程方式回顾1.1、继承Thread类(只运行一次)1.1.1、改造成主线程常驻,每秒开启新线程运行1.1.2、匿名内部类1.1.3、缺点1.1.4、扩展知识:Java内部类1.1.4.1、静态内部类1.1.4.2、

机器学习实战:Python基于Ridge岭回归进行正则化(十三)

文章目录1.前言1.1岭回归的介绍1.2岭回归的应用2.自定义数据集实战演示2.1导入函数2.2创建数据集2.3alpha=0、1、10、100的分别情况3.Dushanbe_house数据集实战演示3.1导入函数和数据3.2剔除空值及可视化3.3整理数据3.4训练和测试数据集3.5评估数据集4.讨论1.前言1.1岭回

Python 04 之变量【列表,元组,集合,字典,字符串】

😀前言在Python编程语言中,我们经常会遇到各种数据类型和相应的操作方法。理解和掌握这些基本构造是进行有效编程的前提。在本文中,我们将介绍两种非常重要的数据结构-集合和字典,然后我们将深入探讨字符串及其相关的操作和处理方法,包括格式化和切片。我们还将通过示例来详细解释如何使用这些结构和方法,以便你可以在实际编程中轻

yolov5的使用

目录本地的标注数据集工具推荐如下:在线标注工具COCO训练模型用PyTorch训练一个简单的多层感知器(MLP)进行手写数字识别(MNIST数据集)。YOLOv5是一种流行的目标检测算法,可以用于识别和定位图像中的对象。要使用YOLOv5识别老鼠,您需要执行以下步骤:YOLOv5是一种流行的深度学习算法,用于目标检测和

金融业需要的大模型,是一个系统化工程

今年年初,在AIGC刚刚开始爆火的时候,我们曾经采访过一位AI领域的专家。当我们提问哪个行业将率先落地大模型时,他毫不犹豫地说道:“金融。”金融行业场景多、数据多、知识多,这样的“三多”特点让其成为AI大模型发挥价值的天选。与此同时,金融场景专业度高,业务复杂,在风控、安全、效率等方面有着严格的要求,初出茅庐的大模型,

热文推荐