当前位置: 首页 > news >正文

【Docker】学习笔记

1. docker基本操作

  • 镜像搜索
// 直接搜索镜像资源
docker search mysql
// 搜索过滤
docker search --filter "is-official=true"  mysql // 官方发布镜像
  • 拉取镜像
docker pull mysql
  • 查看本地镜像
docker images
  • 删除本地镜像
docker rmi mysql
// 强制删除镜像
docker rmi -f mysql
  • 保存加载镜像
docker save 镜像id > 文件名.tar
// example:
docker save 8da80fe49fcf>./mysql.tardocker load < 文件名.tar
// example:
docker load < mysql.tar// 加载的镜像会没有名称和TAG,需要重命名
docker tag [镜像id] [新镜像名称]:[新镜像标签]
  • 创建容器
docker create --name=mysqlContainer mysql
  • 创建并运行容器
docker run -itd --name=mysqlContainer mysql
  • 查看容器信息
// 查看运行中的容器信息
docker ps// 查看包括已停止运行的所有容器的信息
docker ps -a
  • 停止运行容器
docker stop mysqlContainer
  • 重新运行容器
docker restart mysqlContainer
  • 删除容器
docker rm mysqlContainer
  • 进入退出容器环境:
docker-compose exec -it [容器的name或ID] /bin/bash// 有时候镜像比较精简,没有bash,使用下面的命令
docker-compose exec -it [容器的name或ID] /bin/sh// 退出容器终端界面
exit
  • 提交容器修改
docker commit -m "do something" mysqlContainer my_mysql
  • 导入导出容器
// 导出容器为镜像包
docker export mysqlContainer > mysql.tar
// 将镜像tar包导入并命名
docker import mysql.tar mysqlimage

2. docker开发模式

Docker开发模式,然后把代码挂载到容器。
在开发和测试环境中,推荐使用- v 共享文件夹来存储开发人员的
程序代码,避免频繁打包操作。

  • 端口映射
// 将宿主机的33060端口与docker的3306端口进行映射
docker run -itd --name mysqlContainer -p 33060:3306 mysql
  • 文件挂载
// 将宿主机下指定目录与docker容器目录进行关联,":"前是宿主机目录,后面是容器内目录
docker run -itd --name mysqlContainer -v /test_mysql:/usr/mysql_folder
  • 文件拷贝
// 将宿主机下的A.tar 拷贝到容器的/usr/mysql_folder/目录下
docker cp /test_mysql/A.tar mysqlContainer:/usr/mysql_folder/

3. dockerfile

Dockerfile 是一个文本文件,其中包含我们需要运行以构建 Docker 镜像的所有命令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。Docker 使用 Dockerfile 中的指令自动构建镜像。我们可以 docker build 用来创建按顺序执行多个命令行指令的自动构建。
FROM :使用 FROM 为后续的指令建立基础映像。在所有有效的 Dockerfile 中, FROM 是第一条指令。
LABEL: LABEL 指令用于组织项目映像,模块,许可等。在自动化布署方面 LABEL 也有很大用途。在 LABEL 中指定一组键值对,可用于程序化配置或布署 Docker 。
RUN: RUN 指令可在映像当前层执行任何命令并创建一个新层,用于在映像层中添加功能层,也许最来的层会依赖它。
CMD: 使用 CMD 指令为执行的容器提供默认值。在 Dockerfile 文件中,若添加多个 CMD 指令,只有最后的 CMD 指令运行。
作者:JavaPub
链接:https://www.zhihu.com/question/61349295/answer/2543817956
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

补充:

  • MAINTAINER:维护者信息,可选。
MAINTAINER CYK
  • COPY:将dockerfile文件所在目录下的本地文件或目录添加到容器中
    COPY指令中,宿主主机上的目录必须是相对于构建时所用的dockerfile所在的目录。
COPY local_folder/ /usr/mysql_folder/
COPY local_folder/a.tar /usr/mysql_folder/
  • ENTRYPOINT: 只允许一个,如果有多个,会发生覆盖,只执行最后一个。
ENTRYPOINT ["nginx", "-g", "daemon off;"]
  • EXPOSE: 用于指定与外界交互的端口号,但并不会关联,需要在运行容器时通过-p来关联这些端口号
# 声明容器可以使用80和443端口
EXPOSE 80 443
  • VOLUME: 用于指定容器运行时创建的匿名数据卷路径,在启动容器docker run的时候,我们可以通过-v参数修改挂载点。即容器运行时,会创建VOLUME指定的目录,任何向该目录中写入的信息都不会记录进容器存储层,从而保证了容器存储层的无状态化,可以避免容器不断变大。
  • WORKDIR: 工作目录,类似于cd命令,会进入到指定目录下

5. docker-compose up -d --build

docker-compose up -d --build

根据dockerfile重新下载镜像,运行容器,不使用缓存

相关文章:

【Docker】学习笔记

1. docker基本操作 镜像搜索 // 直接搜索镜像资源 docker search mysql // 搜索过滤 docker search --filter "is-officialtrue" mysql // 官方发布镜像拉取镜像 docker pull mysql查看本地镜像 docker images删除本地镜像 docker rmi mysql // 强制删除镜像 d…...

网易云信4K 8K RTC助力远程医疗的技术实践

// 编者按&#xff1a;随着近年来国家关于缓解医疗资源分配不均的一系列政策出台&#xff0c;远程医疗作为平衡医疗资源分配的有力手段&#xff0c;目前正处于强劲发展阶段。网易云信运用超高清RTC视频技术助力医疗行业实现了远程高清视频病理分析和手术示教等能力。LiveVide…...

【排序算法】冒泡排序、插入排序、归并排序、希尔排序、选择排序、堆排序、快速排序

目录 几大排序汇总 1.冒泡排序 性能: 思路和代码: 2.插入排序 性能: 思路和代码: 3.归并排序 性能: 思路和代码: 4.希尔排序 性能: 思路和代码: 5.选择排序 性能: 思路和代码: 6.堆排序 性能: 思路和代码: topK问题 7.快速排序 性能: 思路和代码: 几大排…...

Linux学习笔记-应用层篇

1、Linux进程、线程概念/区别 Linux进程和线程是计算机系统中两种不同的资源分配和调度单位。 进程是计算机系统进行资源分配和调度的基本单位&#xff0c;也被认为是正在运行的程序。在面向线程的计算机结构中&#xff0c;进程是线程的容器。进程拥有独立的内存和系统资源&am…...

MySQL数据库的存储引擎

目录 一、存储引擎概念 二、存储引擎 2.1MyISAM 2.11MyISAM的特点 2.12MyISAM表支持3种不同的存储格式&#xff1a; 2.2 InnoDB 2.21InnoDB特点介绍 三、InnoDB与MyISAM 区别 四、怎么样选择存储引擎 五、查看存储引擎 六、查看表使用的存储引擎 七、修改存储引擎 …...

Linux-多路转接-epoll

epoll 接口认识epoll_createepoll_ctlepoll_wait epoll工作原理在内核中创建的数据结构epoll模型的一个完整工作流程 epoll工作模式LT-水平触发ET-边缘触发两种方式的对比 epoll的使用场景对于poll的改进惊群效应什么是惊群效应如何解决惊群效应原子操作/mutex/spinlock如何选择…...

Java面试被问了几个简单的问题,却回答的不是很好

作者&#xff1a;逍遥Sean 简介&#xff1a;一个主修Java的Web网站\游戏服务器后端开发者 主页&#xff1a;https://blog.csdn.net/Ureliable 觉得博主文章不错的话&#xff0c;可以三连支持一下~ 如有需要我的支持&#xff0c;请私信或评论留言&#xff01; 前言 前几天参加了…...

概率论几种易混淆的形式

正态分布标准型 x − μ σ \frac{x - \mu}{\sigma} σx−μ​ 大数定律形式 P { X ≤ ∑ i 1 n x i − n μ n σ 2 } ∫ − ∞ X 1 2 π e − x 2 2 d x P\{X \le \frac{\sum_{i 1}^{n}x_i -n\mu}{\sqrt{n\sigma^2}} \} \int _{-\infty}^{X}\frac{1}{\sqrt{2\pi}}e^{-\fr…...

PyTorch数据增强后的结果展示

from PIL import Image import torch from torchvision import transformstrans transforms.Compose([transforms.ToTensor(), transforms.RandomErasing(p0.9, value 120, inplaceTrue)]) # 这里Compose是所做的变换img_path 02-56-45-060-1454-camra1.bmp img Image.open…...

指定程序在哪个GPU上运行

摘要&#xff1a; 当本地&#xff08;或服务器&#xff09;有个多个GPU时&#xff0c;需要指定程序在指定GPU上运行&#xff0c;需要做以下设置。 目录 一、在终端上指定GPU二、在程序中指定GPU三、系统变量指定GPU四、pytorch中指定GPU 一、在终端上指定GPU 在终端运行程序时…...

Linux CentOS7 vim多文件编辑

使用vim编辑多个文件&#xff0c;十分常用的操作。本文从打开、显示、切换文件到退出&#xff0c;进行简单讨论。 一、打开文件 1.一次打开多个文件 vim还没有启动的时候&#xff0c;在终端里输入vim file1 file2 … filen便可以打开所有想要打开的文件。 执行命令 vim fil…...

PAT甲级真题1153: 解码PAT准考证

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…...

linux信号

title: linux信号 createTime: 2020-10-29 18:05:52 updateTime: 2020-10-29 18:05:52 categories: linux tags: SIGHUP 终止进程 终端线路挂断[喝小酒的网摘]http://blog.hehehehehe.cn/a/16999.htm SIGINT 终止进程 中断进程 SIGQUIT 建立CORE文件终止进程&#xff0c;并且生…...

JavaWeb开发-05-SpringBootWeb请求响应

一.请求 1.Postman 2.简单参数 ​ package com.wjh.controller;import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;/** 测试请求参数接受*/ R…...

Ubuntu下载

参考文档&#xff1a; 镜像文件&#xff1a;VMware下安装ubuntu 16.04&#xff08;全步骤&#xff09;_vmwaubuntu-16.04.4-desktop-amd64.iso_ST0new的博客-CSDN博客 vmware tools使用安装&#xff1a;VMware——VMware Tools的介绍及安装方法_William.csj的博客-CSDN博客 …...

Vue 的组件加载顺序和渲染顺序

1、结论先行 组件的加载顺序是自上而下的&#xff0c;也就是先加载父组件&#xff0c;再递归地加载其所有的子组件。 而组件渲染顺序是按照深度优先遍历的方式&#xff0c;也就是先渲染最深层的子组件&#xff0c;再依次向上渲染其父组件。 2、案例 下面是一个简单的示例代…...

leetcode Top100(17)矩阵置零

给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0,0,0],[1,0,1]]示例 2&#xff1a; 输入&…...

论文精读(2)—基于稀疏奖励强化学习的机械臂运动规划算法设计与实现(内含实现机器人控制的方法)

目录 1.作者提出的问题及解决方向 2.延深-用如何用强化学习对机器人进行控制 2.1思路 2.2DQN和DDPG在机器人控制中的应用 3.解决方案 3.1思路 3.2实验 3.3创新点 4.展望 1.作者提出的问题及解决方向 目的&#xff1a;使机械臂在非结构化环境下实现端到端的自主学习控制…...

快速安装keepalive

快速安装keepalive #安装 yum install keepalived -y# 查看版本&#xff1a; rpm -q -a keepalived#修改配置文件 vim /etc/keepalived.conf虚拟 ip :随意选一个&#xff0c;不被占用的ip即可。...

nginx实现反向代理实例

1 前言 1.1 演示内容 在服务器上访问nginx端口然后跳转到tomcat服务器 1.2 前提条件 前提条件&#xff1a;利用docker安装好nginx、tomcat、jdk8&#xff08;tomcat运行需要jdk环境&#xff09; 只演示docker安装tomcat&#xff1a; 默认拉取最新版tomcat docker pull t…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

C++.OpenGL (14/64)多光源(Multiple Lights)

多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...

Axure 下拉框联动

实现选省、选完省之后选对应省份下的市区...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...