【云原生】Docker入门 -- 阿里云服务器Linux环境下安装Docker

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

*   [⏰回滚](about:blank#_47)

*   [⏰快速部署](about:blank#_51)
  • 四、Linux下安装Docker

    • 🖥️环境准备

    • ♻️安装Docker

    • 🗳️配置阿里云加速镜像

    • ✅测试启动Docker

  • 五、卸载Docker

  • 六、Docker常用命令

    • ✨基础命令

    • ✨镜像命令

    • ✨容器命令

    • ✨其它常用命令

  • ⛵小结

一、什么是云原生?

============================================================================

技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。

Pivotal公司的Matt Stine于2013年首次提出云原生(CloudNative)的概念;2015年,云原生刚推广时,Matt Stine在《迁移到云原生架构》一书中定义了符合云原生架构的几个特征:12因素、微服务、自敏捷架构、基于API协作、扛脆弱性;到了2017年,Matt Stine在接受InfoQ采访时又改了口风,将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质;而Pivotal最新官网对云原生概括为4个要点:DevOps+持续交付+微服务+容器

在这里插入图片描述

云原生是一种构建和运行程序的方法,是一套技术体系和方法论!

二、什么是Docker?

===============================================================================

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 LinuxWindows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 [1]

Docker官网

Docker是一个开源的应用容器引擎

三、Docker的好处

==============================================================================

⌚模块化


Docker 容器化方法非常注重在不停止整个应用的情况下,单独截取部分应用进行更新或修复的能力 除了这种基于微服务的方法,您还可以采用与面向服务的架构(SOA)类似的使用方法,在多个应用间共享进程。

⌚层和镜像版本控制


每个 Docker 镜像文件都包含多个层。这些层组合在一起,构成单个镜像 每当镜像发生改变时,就会创建一个新的镜像层。用户每次发出命令(例如 runcopy)时,都会创建一个新的镜像层。

Docker 重复使用这些层来构建新容器,借此帮助加快流程构建。镜像之间会共享中间变化,从而进一步提升速度、规模以及效率。版本控制是镜像层本身自带的能力。每次发生新的更改时,您大都会获得一个内置的更改日志,实现对容器镜像的全盘管控。

⏰回滚


回滚也许是层最值得一提的功能。每个镜像都拥有多个层。举例而言,如果您不喜欢迭代后的镜像版本,完全可以通过回滚,返回之前的版本。这一功能还支持敏捷开发方法,帮助持续实施集成和部署(CI/CD),使其在工具层面成为一种现实。

⏰快速部署


启动和运行新硬件、实施部署并投入使用,这在过去一般需要数天时间。投入的心力和成本往往也让人不堪重负。基于 Docker 的容器可将部署时间缩短到几秒。通过为每个进程构建容器,您可以快速将这些类似进程应用到新的应用程序中。而且,由于无需启动操作系统即可添加或移动容器,因此大幅缩短了部署时间。除此之外,得益于这种部署速度,您可以轻松无虞、经济高效地创建和销毁容器创建的数据。

因此,Docker 技术是一种更加精细可控基于微服务的技术可为企业提供更高的效率价值

四、Linux下安装Docker

===================================================================================

🖥️环境准备


查看Linux系统内核


uname -r



在这里插入图片描述

查看系统配置


cat /etc/os-release



在这里插入图片描述

系统为CentOS 7 最好!

♻️安装Docker


先查看本机是否存在Docker,删除旧版本Docker

查看docker 版本


docker version



在这里插入图片描述

没有docker,我们执行以下命令,删除残余文件


yum remove docker \

               docker-client \

               docker-client-latest \

               docker-common \

               docker-latest \

               docker-latest-logrotate \

               docker-logrotate \

               docker-engine





进入Linux根目录,安装Docker


# 安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定的存储库。

yum install -y yum-utils



# 安装阿里云配置

yum-config-manager \

     --add-repo \

     http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo



安装Docker 最新引擎


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



在这里插入图片描述

输入y确认即可!

🗳️配置阿里云加速镜像


打开阿里云控制台,弹性计算 --> 容器与镜像服务

在这里插入图片描述

打开之后选择 镜像工具 --> 镜像加速器,复制内容即可

在这里插入图片描述


进入Linux服务器根据步骤配置镜像加速器


# 创建docker文件夹

sudo mkdir -p /etc/docker



# 打开文件并配置内容

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://pfjide5p.mirror.aliyuncs.com"]

}

EOF



# 重启服务

sudo systemctl daemon-reload

# 启动docker

sudo systemctl restart docker



新建文件夹

在这里插入图片描述

配置内容,并重启服务

在这里插入图片描述

根据步骤一步步创建即可!

✅测试启动Docker


查看Docker启动状态


systemctl status docker



在这里插入图片描述

查看Dockers版本,没有发生错误就是启动成功!

在这里插入图片描述

运行 hello-world镜像


docker run hello-world



在这里插入图片描述

可以看到没有在本地没有找到镜像 hello-world,docker会去远程仓库 DockerHub下载镜像

下载完毕后查看镜像文件


docker images



在这里插入图片描述

五、卸载Docker

=============================================================================


# 卸载依赖

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

# 删除资源  . /var/lib/docker是docker的默认工作路径

rm -rf /var/lib/docker



# 卸载docker

sudo yum remove docker



六、Docker常用命令

===============================================================================

Docker常用API

✨基础命令



docker version # 查看docker版本



docker info # 查看docker系统信息,包括镜像和容器的数量



docker 命令 --help # 查看命令的帮助文档,可选参数



docker COMMAND --help 



systemctl status docker # 查看Docker启动状态



# 关闭docker时如果提示docker.socket 那就执行此命令再关闭docker

sudo systemctl stop docker.socket # 停止docker连接,很人性化,自动启动



systemctl stop docker # 关闭Docker



systemctl start docker # 启动docker





✨镜像命令


DockerHub上查看镜像文件详细信息!

查看镜像文件


docker images



在这里插入图片描述


REPOSITORY	# 镜像的仓库源



TAG # 镜像的标签



IMAGE ID # 镜像id



CREATED # 镜像的创建时间



SIZE # 镜像的大小



### 可选的参数

-a/-all	# 列出所有的镜像

-q/--quiet # 只显示镜像的id



搜索Docker镜像


docker search



在这里插入图片描述


# 可选的参数

Search the Docker Hub for images



Options:

  -f, --filter filter   Filter output based on conditions provided

      --format string   Pretty-print search using a Go template

      --limit int       Max number of search results (default 25)

      --no-trunc        Don't truncate output



我们可以根据stars数来过滤镜像


# 搜索mysql镜像stars数大于5000的

docker search mysql --filter=STARS=5000



在这里插入图片描述

下载镜像


docker pull 镜像名	# 下载最新镜像

docker pull 镜像名:5	# 下载指定版本镜像



在这里插入图片描述



为了做好运维面试路上的助攻手,特整理了上百道 **【运维技术栈面试题集锦】** ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,**小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。**

![](https://img-blog.csdnimg.cn/img_convert/bc7f0472be4958c2e6131c84078d4239.png)

本份面试集锦涵盖了

*   **174 道运维工程师面试题**
*   **128道k8s面试题**
*   **108道shell脚本面试题**
*   **200道Linux面试题**
*   **51道docker面试题**
*   **35道Jenkis面试题**
*   **78道MongoDB面试题**
*   **17道ansible面试题**
*   **60道dubbo面试题**
*   **53道kafka面试**
*   **18道mysql面试题**
*   **40道nginx面试题**
*   **77道redis面试题**
*   **28道zookeeper**

**总计 1000+ 道面试题, 内容 又全含金量又高**

*   **174道运维工程师面试题**

> 1、什么是运维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
![img](https://img-blog.csdnimg.cn/img_convert/e364b996dc8ff9ed2de8275b84b25a77.jpeg)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
维?

> 2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

> 3、现在给你三百台服务器,你怎么对他们进行管理?

> 4、简述raid0 raid1raid5二种工作模式的工作原理及特点

> 5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

> 6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

> 7、Tomcat和Resin有什么区别,工作中你怎么选择?

> 8、什么是中间件?什么是jdk?

> 9、讲述一下Tomcat8005、8009、8080三个端口的含义?

> 10、什么叫CDN?

> 11、什么叫网站灰度发布?

> 12、简述DNS进行域名解析的过程?

> 13、RabbitMQ是什么东西?

> 14、讲一下Keepalived的工作原理?

> 15、讲述一下LVS三种模式的工作过程?

> 16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

> 17、如何重置mysql root密码?

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
[外链图片转存中...(img-GiQDpl82-1713200300944)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 27
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用\[2\]和引用\[3\]的内容,你可以按照以下步骤在阿里云安装docker-compose: 1. 打开终端并登录到你的阿里云服务器。 2. 运行以下命令来下载docker-compose的二进制文件: ``` curl -SL https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose ``` 这个命令会将docker-compose的二进制文件下载到`/usr/local/bin/docker-compose`目录下。 3. 授予docker-compose二进制文件执行权限: ``` chmod +x /usr/local/bin/docker-compose ``` 现在,你已经成功安装docker-compose在阿里云上。你可以通过运行`docker-compose --version`命令来验证安装是否成功。 #### 引用[.reference_title] - *1* *3* [安装Docker,配置阿里云加速和 docker-compose 国内镜像](https://blog.csdn.net/qq_46416934/article/details/126566148)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [阿里云服务器CentOS 7.6安装dockerdocker-compose](https://blog.csdn.net/qq798867485/article/details/131328590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值