Docker学习

『docker笔记』通过docker搭建深度学习环境 通过docker搭建深度学习环境! 文章目录一. docker简介二. centos安装docker第一步2.1. 安装前提条件2.2. 安装docker依赖环境2.3. 添加阿里云的软件源2.4. 更新yum缓存(为了保证能更新和下载需要的服务:如docker)三. centos安装docker第二步3.1. 安装并启动docker3.2. 启动Docker服务3.3. 设置开机自启四. docker高效搭建开发环境五. 关于宿主机卸载docker服务参考文章 一. docker简介 docker 是 阅读详情

目录

容器入门

常用命令:

小作业:nginx

作业2:tomcat

可视化

容器:分层

如何提交自己的镜像:commit

容器数据卷

作业:mysql容器

具名挂载和匿名挂载

数据卷容器 

DockerFile

指令:

Docker网络

 --link(不推荐使用)

自定义网络

网络连通

实战:部署redis集群


容器入门

常用命令:

docker介绍及常用命令大全(超详细)_docker是什么命令_luckySnow-julyo的博客-优快云博客

小作业:nginx

端口暴露:

docker search nginx
docker pull nginx
docker run -d --name nginx01 -p 3344:80 nginx
docker ps
curl localhost:3344
//进入容器
docker exec -it nginx01 /bin/bash
whereis nginx
cd /etc/nginx
ls

exit
docker ps
docker stop fb78ae0b4b2c

思考问题:是否一定要进入容器内部才可以修改nginx的配置文件,容器外可以有映射吗

容器卷技术

作业2:tomcat

docker run -it -rm tomcat:9.0
//-rm 用完即删容器,一般用于测试

网络问题:容器与容器之间怎么通信 

可视化

portainer:图形化界面管理工具

docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

rancher

容器:分层

如何提交自己的镜像:commit

docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[tag]
docker commit -a="xxx" -m="add webapps app" 容器id tomcat02:1.0
docker images

容器数据卷

问题:如果数据都在容器里,删除容器就会全部丢失,那么数据应该存在哪里?

需求:数据可以存储在本地

容器之间的数据共享技术!数据同步到本地!

卷技术:目录的挂载,将容器内的目录挂载到linux上

实现容器的持久化和同步操作,容器间数据共享

docker run -it -v 主机目录:容器内目录(映射)
docker run -it -v /home/ceshi:/home centos /bin/bash
docker inspect d47661f6e9f2

 

容器内添加文件,本地也会添加

容器停止

修改宿主机本地文件,再次启动容器(需要再挂载吗?启动同一个容器不需要再挂载),也会有修改 

作业:mysql容器

docker pull mysql:5.7
-d 后台运行
-p 端口映射
-v 卷挂载
-e 环境配置
--name 容器名字
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

 问题:没run起来

使用navicat连接报错:

Navicate连接Linux下的MySQL数据库报错“Password authentication failed”_navicat password authentication failed-优快云博客

原来是把ssh连接的密码搞错了,ssh连接时虚拟机的root登录密码而不是sql的 

具名挂载和匿名挂载

docker run -d -P --name nginx01 -v /etc/nginx nginx
docker volume ls
//发现乱码都是匿名挂载

docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
//查看卷
docker volume inspect juming-nginx

 所有docker容器内的卷,没有指定目录情况下都挂载再 /var/lib/docker/volumes/xxx/xx

通过具名挂载可以方便找到卷信息,推荐使用

-v 容器内路径    匿名挂载
-v 卷名:容器内路径    具名挂载
-v /宿主机路径:容器内路径    指定路径挂载

 拓展:ro、rw

docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx
//区别:ro rw 改变读写权限
//ro 只读,只能通过宿主机改变
//rw 可读可写

初识dockerfile:

dockerfile就是用来构建docker镜像的构建文件,由一条条命令脚本组成,通过脚本生成镜像,每个命令都是一层

创建一个dockerfile文件

cd /home
mkdir docker-test-volume
cd docker-test-volume
vi dockerfile01

 文件中指令要大写,参数

FROM centos

VOLUME ["/volume01","/volume02"]

CMD echo "----end----"

CMD /bin/bash
docker build -f dockerfile01 -t mycentos:1.0 .

启动镜像,自动生成一个容器

 在容器内创建数据文件

 

 在宿主机查看容器的挂载

 进入查看数据文件已同步

数据卷容器 

多个mysql共享数据

 

 删除docker01后数据还在

自己验证一下吧,看看docker02数据卷挂载在哪里

如果两个宿主机不同怎么挂载

都挂在宿主机是怎么样的

DockerFile

1、编写一个dockerfile文件

2、docker build构建成为一个镜像

3、 docker run 运行镜像

4、docker push 发布镜像

指令:

FROM centos
MAINTAINER yjy<3203014138@qq.com>

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80

CMD echo $MYPATH
CMD echo "---end----"
CMD /bin/bash

 workdir:设置工作目录,一进入就是/usr/local 而不是root

docker history 

Docker网络

 问题:docker是如何处理容器网络访问的?

 宿主机可以ping通容器

1、每启动一个docker容器,docker就会给docker容器分配一个ip,只要安装了docker就会有一个网卡docker0,桥接模式,使用的技术是evth-pair技术!

 两个容器之间也可以ping通

 docker中的所有网络接口都是虚拟的,虚拟的转发效率高

 --link(不推荐使用)

如何用容器名ping通

docker run -d -P --name tomcat03 --link tomcat02 tomcat
docker exec -it tomcat02 ping tomcat03
//反向ping不通
docker network ls
docker network inspect id

 原理:在tomcat03的配置文件里配了02的ip

 

 docker0不支持容器名连接

自定义网络

 

docker run -d -P --name tomcat01 --net bridge tomcat

 自定义网络:

docker network create --driver bridge --subnet 192.168.0.0/16  --gateway 192.168.0.1 mynet
docker network inspect mynet
docker run -d -P --name tomcat-net-01 --net mynet tomcat
docker run -d -P --name tomcat-net-02 --net mynet tomcat

 自定义的好处:可以用容器名ping通

网络连通

//测试打通tomcat01到tomcat-net-01
docker network connect tomcat01 -mynet

联通之后就是将tomcat01放到mynet网络下

一个容器两个ip地址

实战:部署redis集群

docker network create redis --subnet 192.169.0.0/16
docker network ls

通过脚本创建6个redis配置

for port in $(seq 1 6); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >/mydata/redis/node-${port}/conf/redis.conf
port 6379
bind 0.0.0.0
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.169.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done

 

docker run -p 6371:6379 -p 16371:16379 --name redis-1 \
-v /mydata/redis/node-1/data:/data \
-v /mydata/redis/node-1/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 192.169.0.11 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

 创建集群:

docker exec -it redis-1 /bin/sh
ls
redis-cli --cluster create 192.169.0.11:6379 192.169.0.12:6379 192.169.0.13:6379 192.169.0.14:6379 192.169.0.15:6379 192.169.0.16:6379 --cluster-replicas 1

 

redis-cli -c
cluster info
cluster nodes
set a b

三主三从

主机挂了,从机应该替代

删除主机后

get a   //需要停止重连

从仿真到打样:PMOS栅极泄放电路设计全流程复盘与三个踩坑点总结 本文详细复盘了PMOS栅极泄放电路从仿真到打样的全流程设计,重点总结了三个关键踩坑点:三极管BE结过压击穿、静态功耗超标和栅极振荡现象。通过优化缓启动电路、改进保护设计和布局调整,最终实现18ms开通时间、190μs关断时间和8μA静态功耗的工业级性能指标,为类似电源开关设计提供实用参考。 阅读详情

相关推荐

Silvaco二极管、三极管、CMOS的制备

Silvaco二极管和三极管的制备

yytu231的博客 5749

Docker | 深度学习中的docker看这一篇就够啦

Docker是一种相对使用较简单的容器,我们可以通过以下几种方式获取信息:1,通过docker run执行命令,或许返回信息2,通过docker logs去获取日志,做有针对性的筛选3,通过systemctl status docker查看docker服务状态4,通过journalctl -u docker.service查看日志。

weixin_44649780的博客 9061

Ubuntu22.04实战:基于VLLM高效部署Qwen3系列模型并构建Dify智能体

本文详细介绍了在Ubuntu22.04系统上使用VLLM高效部署Qwen3系列模型并集成Dify平台的实战指南。从环境配置、Conda管理到VLLM优化部署,再到Dify智能体构建,提供了全面的技术方案和性能调优建议,帮助开发者快速实现AI模型的高效部署与应用。

weixin_28323057的博客 161

docker学习之路

docker学习之路本文章主要讲解什么是docker,为什么要使用docker、docker与虚拟机有什么区别、docker要怎么学习,具体用法不在此处说明什么是docker为什么要使用dockerdocker与虚拟机有什么区别docker要怎么学习 本文章主要讲解什么是docker,为什么要使用docker、docker与虚拟机有什么区别、docker要怎么学习,具体用法不在此处说明 什么是docker Docker是一个基于LXC技术之上搭建的Container*容器引擎*。Docker将应用程序

qq_34892981的博客 219

AI协议助手:法律文本解析与智能问答技术解析

自然语言处理(NLP)技术在法律文本解析中展现出巨大潜力,通过BERT等预训练模型实现条款分类与语义理解。结合OCR与知识图谱技术,AI协议助手能快速提取合同核心条款,并以问答形式解释法律术语,显著提升商务场景的决策效率。测试数据显示,该系统对NDA协议的识别准确率达92%,响应时间仅1.2秒,特别适用于人力资源竞业协议、云服务SLA评估等场景。随着RAG架构与法律术语向量库的应用,AI+法律正推动合同审核成本下降67%,未来将在跨境合规、智能谈判等方向持续演进。

weixin_29053577的博客 128

ardupilot开发 --- mavlink签名加密 篇

ardupilot开发 --- mavlink签名加密

记录老板的每次pua,分享领导每天的毒鸡汤... 1236

学习docker需要linux吗

我整理的一些关于【Docker】的项目学习资料(附讲解~~)和大家一起分享、学习一下:https://d.51cto.com/xltfov学习 Docker 需要 Linux 吗? 引言 Docker 是一个开源的平台,用于自动化部署、扩展和管理应用程序。Docker 的强大之处在于它提供了一种轻量级的虚拟化方式,使得应...

weixin_37036882的博客 134

ROS 2在自动驾驶中的应用:感知节点开发

ROS 2在自动驾驶中的应用:感知节点开发 ,人工智能,计算机视觉,大模型,AI,本文围绕ROS 2在自动驾驶感知节点开发展开,介绍了ROS 2基础、感知节点开发流程,包括环境搭建、代码编写等,还阐述了常用传感器感知节点开发、多传感器融合,以及测试调试、性能优化、部署集成等内容,分析了开发面临的挑战与未来趋势,为相关开发提供了全面指导,涉及简单代码示例和概念解释。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 14万+

Docker学习笔记:如何快速并系统的学习Docker

Docker是一个开源的容器化平台,它可以将应用程序及其依赖项打包到一个称为容器的独立单元中。每个容器都包含了运行应用程序所需的所有组件,包括代码、运行时环境、系统工具和系统库。这使得应用程序可以在任何环境中以相同的方式运行,无论是开发、测试还是生产环境。

超哥量化的博客 1163

【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part1项目介绍与环境准备

看到这篇文章的你,相信对知识图谱相关概念不在陌生。知识图谱相关内容在实际开发中包含两个部分:1.知识图谱构建,2.知识图谱使用。知识图谱构建过程中涉及内容、技术都比较多。知识图谱的应用也逐渐在我们的生活中随处可见,其中基于知识图谱的问答系统就是其中的一个应用。基于知识图谱的问答系统称做KGQA(knowledge graph question answer),也有人称其为KBQA(knowledge based question answ).基于知识图谱的问答系统通常是使用的是领域知识图谱。下面就结合Git

让算法融入生活,改变生活! 4717

【ArcGIS Pro微课1000例】0067:ArcGIS Pro3.4.2学习版下载及安装教程

【ArcGIS Pro微课1000例】0067:ArcGIS Pro3.4.2学习版网盘下载及安装教程

智慧空间实验室 2387

docker学习

综上:Docker是容器技术的核⼼、基础,用于创建管理容器,Docker Compose是⼀个基于 Docker 的单主机容器编排⼯具,⽽ Kubernetes 是⼀个跨主机的集群部署⼯具。4、如果需要,可以使用 docker push 命令发布镜像到镜像仓库(DockerHub 、阿里云仓库等)。介绍:通过编写compose.yaml文件用于批量处理容器(上线、下线、启动、停止、扩容)。2、使用 docker build 命令运行脚本文件,构建成为一个镜像;特点:加速构建、分享、运行应用。

weixin_62734196的博客 1194

在 Visual Studio Code 中开发 SAP Fiori 应用并部署到 Cloud Foundry 的完整实战指南

摘要:本文介绍如何以ABAP RAP服务为后端,通过VS Code和SAP Fiori工具将Fiori应用一键部署到SAP BTP Cloud Foundry环境。主要内容包括:1) 开发环境配置(VS Code+Fiori工具);2) 架构流程说明(MTA打包、Approuter路由);3) 权限准备(业务Catalog分配);4) 创建带Approuter的MTA项目;5) 连接ABAP OData服务并生成Fiori应用。文中还针对常见问题(如服务不可见、部署失败)提供了解决方案参考。

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

docker学习文档

在部署实操完后,对操作过程中涉及到的内容进行梳理,方便后续回顾

qq_45511700的博客 1084

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Docker学习系列(零):docker学习资源

docker中文该网站给出了大量的docker学习资源!一小时Docker教程 Docker手册 Docker ppt优快云之docker知识库:该网站有一些关于docker的讨论cSphere Docker 实训课程登陆后可以免费观看,课程网址:https://csphere.cn/training 同时,还有课程内容记录的文档,文档地址:http://git.oschina.net/do

tina的博客 2569

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

docker 训练深度学习_Docker 与深度学习

Docker与深度学习 【编者的话】这篇文章介绍了Docker与深度学习结合的例子。Docker的优势是解决了依赖的问题,方便分发个人工作成果;缺点是不直接支持GPU,需要开发者自己安装nvidia-docker。 Docker提供了一种将Linux Kernel中需要的内容静态链接到你的应用中的方法。Docker容器可以使用宿主机的GPUs,因此我们可以把TensorFlow或者机器学习代码的任...

weixin_42525798的博客 841

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Docker学习网站

https://yeasy.gitbook.io/docker_practice

qq_44168533的博客 626

Docker 学习

应用场景:DockerFile 可以自定义镜像,简便部署,之前的镜像不能很好满足需求不区分大小写,但习惯大写基本以 FROM 指令开头#开头代表注释。

weixin_51005207的博客 1067

如何学习docker

学习Docker前,需要了解Docker的基本概念和组成部分,包括Docker镜像、Docker容器、Docker仓库、Docker网络等等,同时也需要了解Docker的整体架构和工作原理。Docker的核心是镜像和容器,需要掌握Docker镜像和容器的创建、管理和操作,如构建自己的Docker镜像、启动和停止Docker容器、连接和交互Docker容器等。学习Docker需要先安装和配置Docker引擎,可以在本地或云上部署一个Docker环境,掌握Docker的安装和配置过程。

qq_33525062的博客 763

【docker】docker学习笔记

docker学习笔记

weixin_43308380的博客 1361

通过Docker部署深度学习项目环境

深度学习环境部署的方法有很多种,其中Docker化深度学习环境和项目是一个很不错的选择。这里写过一些深度学习主机安装和部署的文章,这篇文章记录一下相关的通过Docker来部署和测试深度学习项目的一些经验(Ubuntu16.04)。 一、安装Docker: 关于Docker的相关介绍资料比较多,这里就不多说了,感兴趣的同学可以自行Google或者看一下参考资料。 1)使用APT安装: $ ...

kwame211的博客 1823

docker 训练深度学习_docker配置深度学习环境

序阅读本篇文章可以帮你解决的问题是:提供一套解决方案,能够在支持Docker的任何版本Ubuntu系统下,搭建出完美运行各种深度学习框架、各种版本、各种环境依赖(NAIVID显卡)深度学习工程的开发环境。不仅如此,还要像在本机一样方便的修改代码运行计算。搭建深度学习计算平台,一般需要我们在本机上安装一些必要的环境,安装系统、显卡驱动、cuda、cudnn等。而随着Docker的流行,往往能够帮我们...

weixin_30129025的博客 429

前端需要学习 Docker 吗?

Docker 是一个开源的应用容器引擎,它可以将应用程序及其依赖项打包到一个可移植的容器中,实现应用的快速部署、隔离和运行。是否学习 Docker 对于前端开发者来说,需要综合考虑项目的实际需求、个人的职业规划以及学习成本等因素。在技术不断发展的今天,保持学习和探索的态度,根据具体情况做出明智的选择,将有助于提升自身的能力和项目的质量。

yan1915766026的博客 1167

docker 学习笔记一【centos安装docker的步骤】

文章目录说明:一、docker学习资源:1、Docker官方英文资源:2、Docker中文资源:二、 学习笔记1、docker三个基本概念2、centos安装:1、安装epel:2、安装docker3、配置加速器: 说明: Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(

zhaojiafu的博客 697

Java 如何学习Docker

通过以上步骤,你可以系统地学习和掌握 Docker 的基本概念、安装配置、基本操作、高级特性和实战应用。Docker作为一项热门技术,对于提升个人技能和增强就业竞争力具有重要意义。不断学习和实践,你将能够在云计算和 DevOps 领域取得更好的成绩。

356
上一篇: VMware部署K8s
下一篇: Megatron-LM训练GPT2模型
Lay_XZ
博客等级 码龄5年 29粉丝 14原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值