docker入门基础(安装docker部署应用)

news2024/11/29 12:46:44

docker基础容器技术发展

文章目录

  • docker基础容器技术发展
    • 1.什么是容器?
    • 2.容器和虚拟化的区别
    • 3.docker官网文档地址
    • 4.docker基本组成
    • 5.安装docker
      • 5.1.调整系统环境
      • 5.2.准备工作
      • 5.3.下载所需的插件
      • 5.4.下载镜像仓库
      • 5.5.安装docker
      • 5.6.启动docker
      • 5.7.hello-world 命令
        • 5.7.1.查看hello-world拉取回来的镜像
        • 5.7.2.docker的默认工作路径
    • 6.测试安装服务
      • 6.1.安装nginx
        • 6.1.1.查看nginx是否成果
    • 7.docker基础命令
      • 7.1.搜索镜像命令-search
      • 7.2.获取镜像命令-pull
      • 7.3.配置镜像加速
      • 7.4.查看镜像命令-image
      • 7.5.镜像导出命令-save
      • 7.6.镜像删除命令-docker image rm
      • 7.7.镜像导入命令-docker load -i

1.什么是容器?

容器就是在隔离环境运行的一个进程,如果进程停止,容器就会销毁。隔离的环境拥有自己的文件系统,ip地址,主机名等。

2.容器和虚拟化的区别

  • linux容器技术,容器虚拟化和kvm虚拟化的区别

  • kvm虚拟化:需要硬件的支持,需要模拟硬件,可以运行不同的操作系统,启动时间分钟等级(开机启动流程)

  • linux开机启动流程

  • bios开机硬件自检

  • docker是基于Go语言开发的!

3.docker官网文档地址

官方:https://www.docker.com

文档地址:https://docs.docker.com

仓库地址:https://hub.docker.com

4.docker基本组成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hnsYuXe2-1676020727551)(D:\linux笔记总结\docker\docker基础容器技术和虚拟化的区别.assets\image-20221203145402583.png)]

镜像(image):docker镜像就好比一个模板,可以通过这个模板来创建容器,通过镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)

容器(container):docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。

仓库(repository):仓库是存储镜像的地方。

仓库分为公有仓库和私有仓库

5.安装docker

5.1.调整系统环境

环境准备  Centos 7 
环境查看
#系统内核是3.10以上的
[root@localhost ~]# uname -r
3.10.0-1127.el7.x86_64

系统版本

#系统版本
[root@localhost ~]# cat  /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

5.2.准备工作

官方地址:https://docs.docker.com/engine/install/centos/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bewuQTwm-1676020727553)(D:\linux笔记总结\docker\docker基础容器技术和虚拟化的区别.assets\image-20221205172824525.png)]

根据官方文档来,我们先卸载旧的环境

1.#卸载之前的环境
yum remove docker \
              docker-client \
              docker-client-latest \
              docker-common \
              docker-latest \
              docker-latest-logrotate \
              docker-logrotate \
              docker-engine
              
2.#操作演示
#执行完成
[root@localhost ~]# yum remove docker \
>               docker-client \
>               docker-client-latest \
>               docker-common \
>               docker-latest \
>               docker-latest-logrotate \
>               docker-logrotate \
>               docker-engine
Loaded plugins: fastestmirror, langpacks
No Match for argument: docker
No Match for argument: docker-client
No Match for argument: docker-client-latest
No Match for argument: docker-common
No Match for argument: docker-latest
No Match for argument: docker-latest-logrotate
No Match for argument: docker-logrotate
No Match for argument: docker-engine
No Packages marked for removal

5.3.下载所需的插件

#自行安装一下
yum install -y yum-utils

5.4.下载镜像仓库

#推荐使用阿里云的镜像
yum-config-manager \
    --add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#方法二
[root@localhost yum.repos.d]# curl -o /etc/yum.repos.d/docker.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新yum的索引

[root@localhost yum.repos.d]# yum makecache fast

5.5.安装docker

#ce是企业版    ee是社区版  我们用yum安装一下
[root@localhost ~]# yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

使用docker verison查看是否安装成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tWEOuJyc-1676020727553)(D:\linux笔记总结\docker\docker基础容器技术和虚拟化的区别.assets\image-20221205180952983.png)]

5.6.启动docker

#安装完成启动docker
[root@localhost yum.repos.d]# systemctl start docker

5.7.hello-world 命令

[root@localhost yum.repos.d]# docker run hello-world

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2Yf1y6Aa-1676020727554)(D:\linux笔记总结\docker\docker基础容器技术和虚拟化的区别.assets\image-20221205181720108.png)]

5.7.1.查看hello-world拉取回来的镜像

[root@localhost ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   14 months ago   13.3kB

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bTMkcqER-1676020727555)(D:\linux笔记总结\docker\docker基础容器技术和虚拟化的区别.assets\image-20221205182113880.png)]

5.7.2.docker的默认工作路径

[root@localhost ~]# cd /var/lib/docker/
[root@localhost docker]# ls
buildkit    image    overlay2  runtimes  tmp    volumes
containers  network  plugins   swarm     trust

6.测试安装服务

6.1.安装nginx

使用run命令下载nginx

[root@localhost ~]# docker run -d -p 80:80 nginx

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wy7LRoLG-1676020727555)(D:\linux笔记总结\docker\docker基础容器技术和虚拟化的区别.assets\image-20230210161025072.png)]

6.1.1.查看nginx是否成果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BWShy2JO-1676020727555)(D:\linux笔记总结\docker\docker基础容器技术和虚拟化的区别.assets\image-20230210162238597.png)]

7.docker基础命令

7.1.搜索镜像命令-search

docker search

seacrh是搜索镜像的命令

7.2.获取镜像命令-pull

docker pull

pull是获取镜像的命令

7.3.配置镜像加速

需要自己创建文件

[root@localhost docker]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

配置完成后重启docker
[root@localhost docker]# systemctl restart docker

7.4.查看镜像命令-image

dokcer image ls

[root@localhost docker]# docker image ls
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
nginx         latest    3f8a00f137a0   28 hours ago    142MB
hello-world   latest    feb5d9fea6a5   16 months ago   13.3kB
[root@localhost docker]# 

7.5.镜像导出命令-save

从已经下载好的镜像仓库中导出镜像

[root@localhost docker]# docker image ls
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
nginx         latest    3f8a00f137a0   28 hours ago    142MB
hello-world   latest    feb5d9fea6a5   16 months ago   13.3kB
[root@localhost docker]# docker save nginx > /root/nginx.tar
[root@localhost docker]# ls /root/nginx.tar
/root/nginx.tar
[root@localhost docker]# 

7.6.镜像删除命令-docker image rm

使用dokcer image ls 查询镜像

docker image rm 镜像名 可以删除镜像

7.7.镜像导入命令-docker load -i

docker load -i 镜像名 可以导入镜像

docker image -i 镜像名 可以导入镜像

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/335361.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DHCP安全及防范

DHCP安全及防范DHCP面临的威胁DHCP饿死攻击仿冒DHCP Server攻击DHCP中间人攻击DHCP Snooping技术的出现DHCP Snooping防饿死攻击DHCP Snooping防止仿冒DHCP Server攻击DHCP Snooping防止中间人攻击DHCP Snooping防止仿冒DHCP报文攻击DHCP面临的威胁 网络攻击无处不在&#xff…

【JavaSE】深入HashMap

文章目录1. HashMap概述2. 哈希冲突3. 树化与退化3.1 树化的意义3.2 树的退化4. 二次哈希5. put方法源码分析6. key的设计7. 并发问题参考 如何防止因哈希碰撞引起的DoS攻击_hashmap dos攻击_双子孤狼的博客-CSDN博客 为什么 HashMap 要用 h^(h >>&#…

动态代理是基于什么原理?

第6讲 | 动态代理是基于什么原理? 编程语言通常有各种不同的分类角度,动态类型和静态类型就是其中一种分类角度,简单区分就是语言类型信息是在运行时检查,还是编译期检查。 与其近似的还有一个对比,就是所谓强类型和弱…

ChatGPT is at capacity right now错误解决,ChatGPT问题汇总

我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者! 最近ChatGPT大火!微软退出首款ChatGPT搜索引擎,阿里等国内巨头也纷纷爆出自家产品,一夜之间,全球最大的科技公司仿佛都回到了自己年轻时的…

CUDA By Example(八)——流

文章目录页锁定主机内存可分页内存函数页锁定内存函数CUDA流使用单个CUDA流使用多个CUDA流GPU的工作调度机制高效地使用多个CUDA流遇到的问题(未解决)页锁定主机内存 在之前的各个示例中,都是通过 cudaMalloc() 在GPU上分配内存,以及通过标准的C库函数 …

【数据结构】栈(stack)

写在前面本篇文章开始讲解栈的有关知识,其实把顺序表和链表学好,那么这一章便不在话下,栈实际上就是顺序表或链表的一些特殊情况。用顺序表实现的栈叫做顺序栈用链表实现的栈叫做链栈文章的内容分为几个部分,希望读者能快速了解文…

经过去年的一遍技术洗礼,《最新的Android 核心知识点》出炉了~

金三银四即将来临,相信很多人的心已经在开始蠢蠢欲动准备新年过后跳槽换一个好点的坑位了,披荆斩棘,斩关过将“杀掉”一众竞争对手 ,最后成功靠着跳槽涨薪走上人生巅峰! 理想很丰满现实慌得一批,大批大批的…

Docker进阶 - 6. docker network 网络模式之bridge

1. bridge概述 Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),该桥接网络的名称为docker0,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络。Docker 默认指定了docker0接口的…

ucore的字符输出

ucore的字符输出有cga,lpt,和串口。qemu模拟出来显示器连接到cga中。 cga cga的介绍网站:https://en.wikipedia.org/wiki/Color_Graphics_Adapter cga是显示卡,内部有个叫6845的芯片。cga卡把屏幕划分成一个一个单元格,每个单元格显示一个a…

“数字孪生”:为什么要仿真嵌入式系统?

​01.仿真是什么? 仿真的概念非常广泛,但归根结底都是使用可控的手段来模仿真实的情况,通常应用于现实世界中实施难度大甚至是无法实践的事物。 众所周知,嵌入式系统通常是形式多样的、面向特定应用的软硬件综合体,无…

Web 框架 Flask 快速入门(一)flask基础与模板

前言 课程地址:Python Web 框架 Flask 快速入门 文章目录前言🌴 Flask基础和模板🌷 一个简单的flask程序🌼 模板的使用🌴 Flask基础和模板 1、web框架的作用 避免重复造轮子,app程序不必关心于服务器的沟…

java agent设计开发概要

agent开发设计 agent 开发的一些心得,适合熟悉agent或者有agent开发需求的同学 1 有个基础的agent,是java 标准的agent。这是agent代码入口 2 设计包结构, 基础agent agent下有plugin,加载plugin可以自己定义一个类加载器 plugin&#xff1…

C++——多态 上

目录 一、概念 二、多态的定义及实现 三、动态多态的实现条件 四、重写相关 五、构成重写与同名隐藏的函数有什么区别? 六、C11 中的override 和 final 一、概念 通俗来说,就是多种形态,当完成某个行为时,当不同的对象去完…

Python 手写数字识别 MNIST数据集下载失败

目录 一、MNIST数据集下载失败 1 失败的解决办法(经验教训): 2 亲测有效的解决方法: 一、MNIST数据集下载失败 场景复现:想要pytorchMINIST数据集来实现手写数字识别,首先就是进行MNIST数据集的下载&am…

Fastjson踩“坑”记录和“深度”学习

作者:陶征策 阿里国际站商家技术团队 Fastjson是阿里开发的Java语言编写的高性能JSON库,本文总结了Fastjson使用时的一些注意事项,并简单分析了Fastjson的底层工作原理,结合具体的验证代码以及跟Jackson的对比,希望能…

非代码的贡献也能成为Committer,我与DolphinScheduler社区的故事

点亮 ⭐️ Star 照亮开源之路 https://github.com/apache/dolphinscheduler ​ // 每个人对于”开源社区“的定义都不一样,在社区的想法也完全不一样,我认为玩开源就像”谈恋爱“,要想方设法对它好,在接触 Apache DolphinSche…

nodejs+vue毕业生求职招聘平台系统

前台首页功能模块毕业生信息招聘平台首页、空中宣讲会、招聘岗位、求职信息、论坛信息、试卷列表、招聘资讯、个人中心、后台管理功能。论坛中心试卷列表招聘资讯管理员功能模块管理员登录空中宣讲会管理招聘岗位管理毕业生管理企业功能模块招聘岗位管理信息咨询管理线上面试管…

java实现二叉树(一文带你详细了解二叉树的)

🎇🎇🎇作者: 小鱼不会骑车 🎆🎆🎆专栏: 《数据结构》 🎓🎓🎓个人简介: 一名专科大一在读的小比特,努力学习编程是我唯一…

JDBC与Druid连接池

1 什么是jdbc? JDBC(java database connectivity )是Java语言连接操作关系型数据库的一套解决方案,屏蔽了底层各数据库不同的差异。 具体是通过sun公司定义的统一的一套API【标准接口】来实现解决差异, 具体实现是各大数据库厂商…

【数据库】 mysql的四种安装方式

目录 MySQL 安装部署 一,仓库安装 二,本地安装 三,容器安装 四,源码安装 MySQL 安装部署 一,仓库安装 1,使用rpm命令从指定的网址装包 ​ [rootlocalhost yum.repos.d]# rpm -ivh https://repo.mys…