Docker概述及使用

docker 概述 Dockerfile概述  Dockerfile是docker中镜像文件的的描述文件,说的直白点就是镜像文件到底是由什么东西一步步构成的。  例如:你在淘宝上买了一个衣架,但是卖家并没有给你发一个完整的衣架,而是一些组件和一张图纸,你按照这个图纸一步一步将衣架组装起来,就成了你所需要的样子。那么 Dockerfile 就是这张图纸,镜像文件就是你需要的这个衣架,Dockerfile 不建议随便命名,就用 Dockerfile。  因此,Dockerfile其内部包含了一条条的指令,每一条指令构建一层,因 阅读详情

1、简介

Docker是一个开源的应用容器引擎;是一个轻量级容器技术;

Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;

运行中的这个镜像称为容器,容器启动是非常快速的。
这里写图片描述

2、核心概念

概念描述
docker主机(Host)安装了Docker程序的机器(Docker直接安装在操作系统之上)
docker客户端(Client)连接docker主机进行操作
docker仓库(Registry)用来保存各种打包好的软件镜像
docker镜像(Images)软件打包好的镜像,放在docker仓库中
docker容器(Container)镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用

这里写图片描述

使用Docker的步骤:

1)、安装Docker

2)、去Docker仓库找到这个软件对应的镜像;

3)、使用Docker运行这个镜像,这个镜像就会生成一个Docker容器;

4)、对容器的启动停止就是对软件的启动停止;

3、Docker常用命令&操作

1)、镜像操作

操作命令说明
检索docker search 关键字
eg:docker search redis
我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。
拉取docker pull 镜像名:tag:tag是可选的,tag表示标签,多为软件的版本,默认是latest
列表docker images查看所有本地镜像
删除docker rmi image-id删除指定的本地镜像

《Docker官网》

2)、容器操作

软件镜像(QQ安装程序)—> 运行镜像 —> 产生一个容器(正在运行的软件,运行的QQ);

步骤:

1、搜索镜像
docker search tomcat
2、拉取镜像
docker pull tomcat
3、根据镜像启动容器
docker run --name mytomcat -d tomcat:latest
4、查看运行中的容器
docker ps  
5、 停止运行中的容器
docker stop  容器的id
6、查看所有的容器
docker ps -a
7、启动容器
docker start 容器id
8、删除一个容器
docker rm 容器id
9、启动一个做了端口映射的tomcat
docker run -d -p 8888:8080 tomcat
-d:后台运行
-p: 将主机的端口映射到容器的一个端口,主机端口:容器内部的端口

10、为了方便,这里直接关闭了linux的防火墙;或者可以开放防火墙端口
service firewalld status:查看防火墙状态
service firewalld stop:关闭防火墙

11、查看容器的日志
docker logs container-name/container-id

更多命令参看
https://docs.docker.com/engine/reference/commandline/docker/
可以参考每一个镜像的文档

3)、安装MySQL示例

docker pull mysql

错误的启动:

[root@localhost ~]# docker run --name mysql01 -d mysql
42f09819908bb72dd99ae19e792e0a5d03c48638421fa64cce5f8ba0f40f5846

//错误日志
[root@localhost ~]# docker logs 42f09819908b
error: database is uninitialized and password option is not specified 
  You need to specify one of MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD and MYSQL_RANDOM_ROOT_PASSWORD;这个三个参数必须指定一个

正确的启动:

[root@localhost ~]# docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
b874c56bec49fb43024b3805ab51e9097da779f2f572c22c695305dedd684c5f

加上端口映射:

[root@localhost ~]# docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
ad10e4bc5c6a0f61cbad43898de71d366117d120e39db651844c0e73863b9434

几个其他的高级操作:

docker run --name mysql -v /conf/mysql:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
把主机的/conf/mysql文件夹挂载到 mysqldocker容器的/etc/mysql/conf.d文件夹里面
改mysql的配置文件就只需要把mysql配置文件放在自定义的文件夹下(/conf/mysql)

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
指定mysql的一些配置参数
PDAF相位对焦原理 pdaf光路图 阅读详情

相关推荐

Ubuntu开发环境配置——持续更新

本文简要介绍了Ubuntu下的开发环境配置流程和问题分析与解决,更多内容持续更新中。

m0_53365889的博客 2224

Docker安装及基础命令

Docker 1. 安装 指定yum源为清华大学镜像站(官方站也可以,不过速度太慢。) 编辑/etc/yum.repos.d/docker.repo增加以下内容: [docker] name=docker enabled=1 baseurl=https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/7/x86_64/stable...

weixin_33976072的博客 347

铝合金外壳表面处理工艺全解析:从阳极氧化到瓷泳喷涂的7种方法对比

本文全面解析了铝合金外壳的7种主流表面处理工艺,包括阳极氧化、粉末喷涂、瓷泳喷涂等。通过对比其原理、性能、成本与应用场景,为产品设计师和工程师提供了从防护性、装饰性到功能性的立体选型框架,帮助您根据具体需求选择最佳工艺方案。

weixin_29278805的博客 742

Docker详细安装及常用命令

Docker详细安装步骤及常用命令

qq_43108153的博客 658

STM32F4XX软件模拟I2C实现MPU6050姿态数据采集

本文详细介绍了在STM32F4XX平台上通过软件模拟I2C驱动MPU6050传感器实现姿态数据采集的完整方案。内容涵盖软件I2C的GPIO配置、核心通信函数实现、MPU6050寄存器配置详解以及数据读取处理流程,为硬件资源受限的嵌入式应用提供了灵活的解决方案,并分享了调试技巧与常见问题处理方法。

butter的博客 677

大模型应用开发面试全流程实录:RAG、上下文工程与多Agent协作技术深度解析

Transformer 依靠多头自注意力和位置编码实现高效序列建模。Prompt Engineering包含多种设计思路,如 Zero-shot、Few-shot、Chain-of-thought,提升模型泛化和推理。Token 和上下文窗口直接影响模型性能与成本,选择需结合实际业务场景(如客服对话需长窗口)。Embedding 技术是 RAG 的基础,决定了语义检索效果。向量数据库如 FAISS、Milvus等分别适用于本地/分布式检索。

m0_52114506的博客 827

如何把vmware workstation的虚拟机做成docker镜像

OVF是Open Virtualization Format的缩写,是一种开放的虚拟机格式,它使用XML文件描述虚拟机的配置信息、操作系统和应用程序等内容,以便在不同的虚拟化平台之间进行移植和交换。其中,my-vmware-image.ova是你导出的OVF文件名,my-docker-image是你要创建的Docker镜像的名称,tag是你要为该镜像设置的标签。这将创建一个基于你的VMware Workstation虚拟机的Docker容器,并在其中启动一个交互式bash会话。

ihateright的博客 4820

LIN 协议测试

如下图,使用PicoScope示波器抓取报文Id为0x18的波形,数据场Byte1的长度为519.994μs,Byte1共10bit,计算位时间:tBit= 519.994/10 = 51.9994μs,符合预期。■ 唤醒信号是一个250μs到5ms的显性电平,发送唤醒信号的节点发送唤醒信号后150ms~250ms没有收到其他节点的唤醒信号,发送唤醒信号的节点发送新的唤醒信号。对于LIN主节点,检查发送的帧头长度是否符合设计要求,对于LIN从节点,检查从节点能否正确响应设计范围之内的帧头长度。

m0_63902994的博客 5929

懵懵懂懂碰Docker

准备:Oracle VM VirtualBox,centos7的镜像,SmaTTy,分别是虚拟机,linux系统(内核必须在3.0以上否则不能使用docker,终端 连接linux方便操作) 重点:yum 能升级一定要升级! 声明:照着视频学习的,所有笔记均来源于视频,侵权删! 1、简介 Docker是一个开源的应用容器引擎;是一个轻量级容器技术; Docker支持将软件编译成一个镜像;...

qq_36664325的博客 292

Opencv计算机视觉PPT-算法篇

01 02 03 04 05 06 07 08 09 010 011 012 013 014 015 016 017 018

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 203

lp–mspm0g3507开发板进入低功耗模式怎么退出?烧程序烧着烧着就进来了,跳线帽没动过,且报错:Texas Instruments Debugger Error: DAP Co...如何解决?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 1568

Docker定制镜像部署项目到Docker容器

1、docker下创建项目工程名称 mkdir -p /usr/local/docker/qfjy_exam cd /usr/local/docker/qfjy_exam 2、将桌面qfjy_exam.zip复制到访目录下 cp qfjy_exam-1.0-SNAPSHOT.zip /usr/local/docker/qfjy_exam/ 3、创建镜像文件Docker...

chinabinggo的专栏 1071

一文吃透 ABAP CDS SELECT:语法全景、关联与去重、可运行示例与实战心法

摘要: 本文深入解析ABAP中CDS视图的SELECT语法,重点介绍两种等价写法、关联与路径表达式优化、DISTINCT去重逻辑及WHERE/GROUP BY/HAVING/UNION等子句的应用。通过可运行的业务伙伴角色去重、关联路径查询及多角色筛选示例,演示如何将CDS特性转化为项目实践。强调关联复用性优于传统JOIN,并指出DISTINCT的权限边界与误用场景,帮助开发者从行式思维转向图式数据建模。(150字) 关键词: ABAP CDS、SELECT语法、路径表达式、DISTINCT去重、关联复用

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 390

【Docker】Docker概述及引擎

DevOps是一种执行标准(思想),主要用于促进开发、测试与运维的整合。

lrzHHl的博客 621

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【Docker】概述与安装

docker的简介

m0_74315688的博客 2855

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

docker入门概述

Docker 是一个开源的容器化平台,允许开发者在不同的环境中构建、运行和部署应用。它通过容器技术提供了一种轻量级的虚拟化方案,与传统虚拟机(VM)相比,Docker 具有更快的启动速度、更高的资源利用率和更好的跨平台兼容性。

SAFE20242034的博客 1067

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【一、Docker概述】

Docker 是一个基于go语言开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的中,然后发布到任何流行的 或操作系统的机器上,也可以实现。容器是完全使用机制,相互之间不会有任何接口。一个完整的Docker有以下几个部分组成:DockerClient客户端Docker Daemon守护进程Docker Image镜像DockerContainer容器一款产品:开发—>上线 俩套环境,应用配置!开发与运维的爱恨纠缠:我开发好的程序,放到别人的电脑上,就是运行不了(各种问题,要么缺少配置,要

小呆鸟blog 2588

Docker概述

Docker概述

欢迎来到t.t.的博客! 2546

一、Docker 概述

1.Docker为什么会出现? 2.Dcoker的历史 3.Docker能做什么? 4.DevOps(开发、运维)

snoopy 173

Docker网络概述

概述 为了标准化网络的驱动开发步骤和支持多种网络驱动,Docker公司在libnetwork中使用了CNM(Container Network Model)。CNM定义了构建容器虚拟化网络的模型,该模型进一步对 Docker 的网络结构进行了细分,提出了三个概念:network、sandbox 和 endpoint。同时还提供了可以用于开发多种网络驱动的标准化接口和组件。 ...

weixin_34220963的博客 148

docker概述

Docker的主要目标是“Build,Ship and Run Any App,Anywhere Docker Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。 #Docker 以 ubuntu15.10 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。 docker run ubu...

define_us的专栏 471

【docker】docker概述+docker的下载与安装

docker安装docker命令镜像命令容器命令操作命令。。。docker镜像容器数据卷dockerfiledocker网络原理IDEA整合dockerdocker swarm 【相当于简化版的k8s】一款产品的发布需要经历:开发——>测试——>运维等各个环节,为了避免在开发阶段代码可以运行,而在其他环节因为环境配置有误导致代码不可运行的情况;环境配置本身就麻烦,对于集群(redis、hadoop等)来说,每个机器都要部署环境,工作量大。

qq_52842680的博客 3010
上一篇: CentOS7安装Docker
下一篇: 【Docker】如何进入到Docker容器内部
章 鱼
博客等级 码龄10年 203粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值