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

Docker基础知识大全

文章目录

  • 前言
  • 一、Docker为什么出现?
  • 二、Docker历史
  • 三、Docker能干嘛?
  • 四、Docker名词
  • 五、Docker安装(CentOS7)
  • 六、卸载docker命令
  • 七、Docker镜像容器命令
  • 总结


1、Docker为什么出现?

java jar包 打包项目带上环境(镜像) 放入docker仓库(应用商店),别人直接下载镜像运行即可,无需安装环境!

环境隔离:docker核心思想!打包装箱!

2、Docker历史

2013开源,每月更新一个版本

2014年,docker1.0发布

3、Docker能干嘛?

DevOps(开发并且运维)

1、快速交付和部署

2、更便捷的升级和扩缩容

3、更高效的计算资源利用

4、Docker名词

镜像(image):就好比模板,可以通过模板创建容器服务,通过镜像创建多个容器(class类创建许多对象)

容器(container):独立运行一个或一组应用。有启动、停止、删除

目前就可以把这个容器理解为一个简易的linux系统。

仓库(repository):来存放镜像的地方,相当于gitee仓库。

5、Docker安装(CentOS7)

安装docker之前,卸载之前的docker版本

1、卸载命令:

yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

2、需要的安装包

yum install -y yum-utils

3、设置镜像仓库

默认是从国外的!非常慢!(不推荐)

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

国内的阿里云镜像(推荐使用)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4、更新yum软件包索引

yum makecache fast

5、安装docker软件

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

yum install docker-ce docker-ce-cli containerd.io

6、启动docker

systemctl start docker

7、查看是否启动成功

docker version
#有版本显示则是启动成功

6、卸载docker命令

(1)卸载依赖

yum remove docker-ce docker-ce-cli containerd.io

(2)删除资源

rm -rf /var/lib/docker

7、Docker镜像容器命令

1、阿里云容器镜像加速器(番外)

sudo mkdir -p /etc/docker
​
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://gnztys0b.mirror.aliyuncs.com"]
}
EOF
​
sudo systemctl daemon-reload
​
sudo systemctl restart docker

2、docker信息命令

(1)docker版本信息

docker version

(2)docker详情

docker info

(3)帮助命令

docker -- help

3、镜像相关命令(重点)

(1)查看所有本地镜像

docker images

(2)只显示镜像ID

docker images -q

(3)搜索镜像

docker search 名称   
例:搜索mysql收藏大于2000的镜像
docker search mysql --filter=STARS=2000

(4)下载镜像

1、默认最新版本:docker pull 名称
2、指定版本下载:docker pull 名称:版本
3、例子:下载mysql镜像,默认最新
docker pull mysql
4、例子:下载mysql5.7版本镜像
docker pull mysql:5.7

(5)删除镜像

删除单个镜像:docker rmi -f 镜像ID
删除全部镜像:docker rmi -f $(docker images -aq)

4、容器相关命令(重点)

(1)容器参数说明

#参数说明
--name="Name" 容器名字 redis1  redis2 ...,用来区分容器
-d   后台方式运行
-it  交互运行,进入容器
-p   指定容器端口

(2)查看所有运行的容器

docker ps

(3)查看所有运行的容器+历史运行过的容器

docker ps -a
​
#指定显示的个数
docker ps -a -n=1

(4)运行并进入容器

#例子redis
docker run -it redis /bin/bash

(5)退出容器

exit     #直接退出容器并停止
​
Ctrl + P +  Q   #退出容器但不停止

(6)启动容器

docker start 容器id    #启动容器
docker restart 容器id  #重启容器

(7)停止容器

docker stop 容器id    #停止正在运行的容器
docekr kill 容器id    #强制停止容器

(8)删除容器

删除单个容器:docker rm -f 容器ID
删除全部容器:docker rm -f $(docker ps -aq)


总结

正在学习中,以后会不断更新此内容,敬请期待!!!

如果这篇文章对你有帮助的话请点点赞和收藏。如果文章有问题的话也可以私信我或指出来!!!

感谢你的支持!!!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 63 epoll服务器 (ET模式)
  • 【Linux】匿名管道|命名管道|pipe|mkfifo|管道原理|通信分类|管道的特征和情况
  • SQL二次注入
  • xtrabackup搭建MySQL 8.0 主从复制
  • Git 如何提交代码
  • 大话C语言:第37篇 联合体
  • 声明式UI语法
  • 使用nginxproxymanager管理nginx
  • 安卓基本布局(上)
  • CCleaner安卓专业版:全方位手机清理工具,极速提升设备性能
  • 环境搭建:如何在 Windows 上安装和配置 Apache Maven 3.9.8
  • python:基于YOLO框架和遥感图像的目标检测
  • 【安当产品应用案例100集】005-安当ASP实现Exchange双因素登录认证
  • uniapp App地图点击label
  • 在Stable Diffusion中驱动Tesla P40
  • github指令
  • leetcode46 Permutation 排列组合
  • MySQL用户中的%到底包不包括localhost?
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 开源地图数据可视化库——mapnik
  • 两列自适应布局方案整理
  • 前端技术周刊 2019-01-14:客户端存储
  • 如何用vue打造一个移动端音乐播放器
  • 三栏布局总结
  • 使用权重正则化较少模型过拟合
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 写给高年级小学生看的《Bash 指南》
  • 怎么将电脑中的声音录制成WAV格式
  • 最近的计划
  • NLPIR智能语义技术让大数据挖掘更简单
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​io --- 处理流的核心工具​
  • ​决定德拉瓦州地区版图的关键历史事件
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • #pragma once与条件编译
  • $.ajax()方法详解
  • (02)vite环境变量配置
  • (2)nginx 安装、启停
  • (70min)字节暑假实习二面(已挂)
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (二)原生js案例之数码时钟计时
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (三)终结任务
  • (算法)前K大的和
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .JPG图片,各种压缩率下的文件尺寸
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .Net IOC框架入门之一 Unity
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .netcore 6.0/7.0项目迁移至.netcore 8.0 注意事项