[知识总结] 【编程不良人】Docker学习总结(一)
作者:CC下载站 日期:2021-01-21 11:06:00 浏览:76 分类:编程开发
本博客将记录博主学习b站编程不良人的Docker的总结,虽然以前也有使用过docker,但都是一些最基本的用法,这次将会全面认真的学习Docker。
Docker学习总结(二)
Docker学习总结(三)
01:docker的引言
什么是docker
- 官方定义:
We help developers and development teams build and ship apps.
(我们帮助开发人员以及开发团队构建和发布应用)
We have a complete container solution for you - no matter who you are and where you are on your containerization journey. - 总结:Docker就是容器技术 ===> 应用容器技术 容器里面运行软件环境
- Docker 使用 Google 公司推出的Go语言进行开发实现,基于Linux内核的cgroup,namespace,以及OverlayFS类的Union FS等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其他的隔离进程(操作系统隔离),因此也称其为容器。
为什么是docker
- Docker将程序以及使用软件环境直接打包在一起,无论在哪个机器上都保证了环境一致
一致的运行环境,更轻松的迁移 - “服务器自己的程序挂了,结果发现是别人程序出了问题把内存吃完了,自己程序因为内存不够就挂了”
对进程进行封装隔离,容器与容器之间互不影响,更高效的利用系统资源 - “公司要弄一个活动,可能会有大量的流量进来,公司需要再多部署几十台服务器”
通过镜像复制N多个环境一致的容器
02:docker与传统虚拟机对比
虚拟机缺点:
- 虚拟机运行软件环境之前必须经自身携带操作系统,本身很小的应用程序却因为携带了操作系统而变得非常大,很笨重,虚拟机是利用Hypervisor去虚拟化内存,整个调用过程是:
虚拟内存 -> 虚拟物理内存 -> 真正物理内存
Docker优势
- Docker是不携带操作系统的,所以Docker的应用就非常的轻巧
- Docker引擎分配资源直接是 虚拟内存 ---> 真正物理内存
03:docker安装
注意windows10安装需要开启Hyper-V(1903版本以上无需开启)
-
docker在linux系统安装,或类unix系统,通用安装方式:bash脚本安装
curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun
-
启动、停止、重启docker服务
systemctl status | start | stop | restart docker
-
查看当前docker信息
docker info
-
配置docker开机自启动
systemctl enable docker
-
建立docker组 并使用root用户
sudo groupadd docker sudo usermod -aG docker $USER
-
测试docker安装是否正确
docker run hello-world
04:Docker的核心概念和核心架构图
镜像 image images
- 定义:一个镜像代表着一个软件,如:mysql镜像、redis镜像、nginx镜像
- 特点:只读
容器 container
- 定义: 基于某个镜像运行一次就是生成一个程序实例,一个程序实例称之为一个容器
- 特点:可读可写
仓库 repository
- 定义: 用来存储docker中所有镜像具体位置
- 远程仓库:docker在世界范围维护一个唯一的远程仓库
- 本地仓库:当前自己机器中下载镜像存储位置
05:Docker配置镜像加速
- 创建阿里云账号 -> 登录 -> 管理控制台 -> 在产品服务中搜索,容器服务在搜索列表中找到 容器镜像服务
- 在打开页面中找到镜像加速器,并选择相应的系统,依次执行页面中的bash命令,例如我的ubuntu:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
- 通过docker info查询最后新增的镜像
06:Docker的helloworld应用
- docker入门案例
docker run hello-world
docker run 镜像名
根据run后面镜像运行一个容器,在运行之前先在自己的本地仓库中查找对应的镜像,找到直接使用,找不到自动取远程仓库下载。
07:Docker镜像中相关操作
辅助命令
docker info
docker version
docker --help || docker
docker [option] command(具体命令)
操作镜像Images的相关命令
-
查看本地仓库中存在哪些镜像(+名字过滤)
docker images [REPOSITORY] docker images -q (只显示镜像id)
-
下载新的镜像
docker pull 镜像名称:版本号 或者 docker pull 镜像名:@DIGEST(摘要)
-
不通过dockerbub,通过命令行搜索需要镜像
docker search mysql
-
将打包tar镜像文件导入到自己的docker仓库中
docker load -i 文件名
-
删除镜像
docker image rm REPOSITORY:TAG | ID docker image rm -f REPOSITORY:TAG | ID (强删,把容器也删掉) (简化)docker rmi REPOSITORY:TAG | ID docker rmi -f $(docker images -q) 删除所有镜像和容器
08:容器基本操作
- 帮助命令
docker run --help
- 通过镜像运行一个容器
docker run REPOSITORY:TAG | ID
- 完整运行命令:启动容器 指定名称 后台运行 端口映射(-p xxxx:xxxx可以写多个)
docker run -d(后台运行) -p 宿主机端口:容器端口 --name 别名 REPOSITORY:TAG | ID
- 例子:
docker run -d -p 3307:3306 --name mymysql mysql:5.7
- 查看当前运行的容器
docker ps
docker ps -a 查看所有容器(运行 & 非运行) docker ps -q 返回正在运行容器id docker ps -qa 返回所有容器的id
- 开启/重启/停止/立即停止容器
docker start/restart/stop/kill ID | NAMES
- 删除容器
docker rm ID | NAMES docker rm -f ID | NAMES (删除正在运行的容器) docker rm -f $(docker ps -aq) (删除所有容器)
- 查看容器内服务运行的日志
docker logs ID | NAMES docker logs -f ID | NAMES (实时日志) docker logs -tf ID | NAMES (加入时间戳实时日志) docker logs --tail n ID | NAMES (查看容器尾部n行日志)
- 查看容器内运行的进程
docker top ID | NAMES
- 产看容器的详细信息与细节
docker inspect ID | NAMES
- 与容器内部进行交互(进入容器)
docker exec -it ID | NAMES bash (进入容器,并与容器内部命令终端进行交互) exit 退出
- 操作系统与容器的传输文件
docker cp ID | NAMES : 容器内部资源路径 宿主机中路径 (从容器复制文件到宿主机) docker cp 文件 | 目录 ID | NAMES : 容器内部资源路径 (从宿主机复制文件到容器)
数据卷 Volume
- 作用:
实现宿主机系统与容器之间的文件共享(关联映射) - 数据卷使用(自定义数据卷目录):
docker run -d -p 8080:8080 --name tomcat01 -v 宿主机路径(绝对):容器内目录 tomcat:8.0-jre
- 数据卷使用(自动数据卷目录):
docker run -d -p 8080:8080 --name tomcat01 -v aa:容器内目录 tomcat:8.0-jre
- 注意:
1.aa代表一个数据卷名字,名称可以随便写,docker在不存在时自动创建这个数据卷同时自动映射宿主机中某个目录
2.同时在启动容器时会将aa对应容器目录中全部内容复制到aa映射目录中
3.自动创建的目录一般在/var/lib/docker/volumes下
如果你对数据卷中宿主机的文件只进行读操作,建议用自动数据卷目录(主要对数据文件进行保护和备份,例如mysql、redis、es)
如果你需要对数据卷中宿主机的文件进行写操作,建议用自定义数据卷目录 - 将容器打包成一个新的镜像(可以通过docker images来查看)
docker commit -m "描述信息" -a "作者信息" 容器id或名称 打包的镜像名称:标签
- 生成tar文件
docker save 镜像名:标签 xxxx.tar
数据卷详细
- 数据卷的特点:
数据卷可以在容器之间共享和重用
对数据卷的修改会立即影响到对应容器
对数据卷的更新修改,不会影响镜像
数据卷默认会一直存在,即使容器被删除 - 设置容器对数据卷只读(宿主机可以改变数据卷,容器不可以)
docker run -d -p 8990:8080 --name tomcat -v /root/apps:/usr/local/tomcat/webapps:ro tomcat:8.0-jre8
- 数据卷相关操作
docker volume ls (查看所有数据卷) docker volume inspect 卷名 (查看某个数据卷的细节) docker volume create 卷名 (创建数据卷) docker volume rm 卷名 (删除某个数据卷) docker volume prune (删除所有未使用的数据卷)
猜你还喜欢
- 03-29 [编程相关] Winform窗体圆角以及描边完美解决方案
- 03-29 [前端问题] has been blocked by CORS policy跨域问题解决
- 03-29 [编程相关] GitHub Actions 入门教程
- 03-29 [编程探讨] CSS Grid 网格布局教程
- 10-12 [编程相关] python实现文件夹所有文件编码从GBK转为UTF8
- 10-11 [编程算法] opencv之霍夫变换:圆
- 10-11 [编程算法] OpenCV Camshift算法+目标跟踪源码
- 10-11 [Python] python 创建 Telnet 客户端
- 10-11 [编程相关] Python 基于 Yolov8 + CPU 实现物体检测
- 03-15 [脚本工具] 使用go语言开发自动化脚本 - 一键定场、抢购、预约、捡漏
- 01-08 [编程技术] 秒杀面试官系列 - Redis zset底层是怎么实现的
- 01-05 [编程技术] 《Redis设计与实现》pdf
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[书籍] 【帛书版】合集
[老照片] 一万张珍贵历史老照片【jpg 40.4GB】
[素材] 2024新年春节烟花素材合集【PSD格式+PNG格式】
[美剧] 《生活大爆炸》S01-S12季合集 【1080P 蓝光原盘REMUX】 DTS-HD.MA.5.1 【外挂简英双语字幕】 742.8G
[电影] 茶馆(1982)蓝光原盘REMUX 内封简繁英.简中简繁四字幕【33.9G】本片根据老舍同名原著改编
[电视剧] 永夜星河(2024)【4K 2160P 杜比音效】国语中字【全32集完结】爱情,古装 又名 :黑莲花攻略手册
[影视合集] 《霍比特人》三部曲加长版合集 【4K 蓝光 HDR】 TrueHD.7.1 国语次世代+导评 【国配简繁英特效+导评中字五字幕】134G
[课程] 2024邓诚高三数学视频课【MP4 12.2GB】
[电视剧] 宿敌(2024)【完结】【4K / 臻彩视听 / 杜比音效】【廖凡/朱珠】【17.8G】
[影视合集] 【鹿鼎记 7个版本合集】【1984-2020】【4K、1080P、720P】【中文字幕】【278.5G】
[书籍] 彭子益医书合集 [PDF/DOC]
[动画] 2002《火影忍者》720集全【4K典藏版】+11部剧场版+OVA+漫画 内嵌简日字幕
[剧集] 《斯巴达克斯》1-4季合集 无删减版 1080P 内嵌简英特效字幕
[电影] 《变形金刚系列》七部合集 [4K HDR 蓝光] 国英双语音轨 [内封精品特效字幕]【典藏版】235G
[CG剧情] 《黑神话:悟空》158分钟CG完整剧情合集 4K120帧最高画质
[动画] 收藏版:1996-2024年名侦探柯南全系列1080P,含国配、日配双语版+26部剧场作品
[电影] 《神奇动物在哪里三部合集》 4K REMUX原盘 [杜比视界] [国英双语音轨] 特效字幕 [171.1G]
[游戏] 黑神话悟空离线完整版+修改器
[动画] 西游记 (1999) 动画版 4K 全52集 高清修复版 童年回忆
[电影] 我的阿勒泰 (2024) 4K内封简繁 全8集 9.57G
[电影] 《黄飞鸿》全系列合集
[Android] 开罗游戏 ▎像素风格的模拟经营的游戏厂商安卓游戏大合集
[游戏合集] 要战便战 v0.9.107 免安装绿色中文版
[电影] 【珍藏版】20世纪电影合集从1922年到1990年代,看看爷爷辈的电影是什么样合集约212G
[书籍] 彭子益医书合集 [PDF/DOC]
[系统]【黑果小兵】macOS Big Sur 11.0.1 20B50 正式版 with Clover 5126 黑苹果系统镜像下载
[美图] 【经典收藏美图集合】1500多张韩国美女高清图片让你的收藏夹更加丰富多彩
[瓜] 青岛【路虎女】插队、逆行、追尾、打人未删减【完整版视频】
[电视剧] 灵魂摆渡(1-3季合集)【未删减】【4K.无水印】【剧情/恐怖/惊悚】【豆瓣8.7】
[书籍资料] 《玉房秘诀》《玉房秘典》《古代房中术》
- 最新评论
-
电影很不错谢谢分享贪睡的猫 评论于:11-18 一部不错的经典科幻kelvin 评论于:11-13 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢285552528 评论于:11-09 找了好久的资源bjzchzch12 评论于:11-07 谢谢分享感谢ppy2016 评论于:11-05 谢谢分享感谢ppy2016 评论于:11-05 有靳东!嘻嘻奥古斯都.凯撒 评论于:10-28 流星花园是F4处女作也是4人集体搭配的唯一一部!奥古斯都.凯撒 评论于:10-28 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢AAAAA 评论于:10-26 找了好久的资源,终于在这里找到了。感谢本站的资源和分享。谢谢password63 评论于:10-26
- 热门tag