Docker 支持开发人员使用简单的命令访问这些本机容器化功能,并通过节省工作量的应用程序编程接口 (API) 自动执行。 与 LXC 相比,Docker 提供了以下功能:

增强的无缝容器可移植性:虽然 LXC 容器通常引用特定于机器的配置,但 Docker 容器无需修改即可在任何桌面、数据中心和云环境中运行。更轻巧且更细粒度的更新:通过使用 LXC,可以在单个容器中组合多个进程。 这样就可以构建持续运行的应用,即使为了更新或修复而关闭某个部分也不例外。自动化容器创建:Docker 可以基于应用源代码自动构建容器。容器版本控制:Docker 可以跟踪容器映像的版本,回滚到先前的版本,以及跟踪版本的构建者和构建方式。 它甚至可以只上传现有版本和新版本之间的增量。容器复用:现有容器可用作基本映像(本质上类似于用于构建新容器的模板)。共享容器库:开发人员可以访问包含数千个用户贡献容器的开源注册表。

如今,Docker 容器化也适用于 Microsoft Windows 和 Apple MacOS。 开发人员可以在任何操作系统上运行 Docker 容器,大多数领先的云提供商(包括 Amazon Web Services (AWS)、Microsoft Azure 和 IBM Cloud)都提供了一些专用服务,这些服务可帮助开发人员构建、部署和运行使用 Docker 进行容器化的应用。

在初步认识了解了Docker后,下面正式进入Docker使用环节!

一、进入Docker官网

首先先到Docker官网下载最新官方Docker for Windows链接:Docker下载

二、启动Microsoft Hyper-V

在电脑上打开“控制面板”->“程序”-> “启动或关闭Windows功能”。

勾选Hype-V功能

并勾选如下内容:

三、安装Docker

在Windows上安装Docker桌面版

双击程序,如下:

点击OK,确定安装WSL

等待安装完毕!

安装完毕后,点击Close and restart

电脑重启后,点击Docker程序会看到如下界面

默认勾选,点击Finish即可完成 等待启动Docker引擎

报错如下:

重新更新一下wsl版本,如下命令

报错如下:点击restart重启即可。 现在程序正常启动并稳定啦

四、玩转Docker

命令行输入如下命令

docker --version

至此就可以在windows上开始Docker之路啦!

五、运行Hello-world

运行Hello-world,使用如下命令:

docker pull hello-world

查看是否拉取成功?

显示Hello-world镜像确实存在!

查看可视化容器镜像,显示如下:

至此拉取Hello-world成功!

六、配置阿里云镜像加速

刚才的pull操作比较慢,接下来需要配置一下镜像代理,便于更快速的拉取资源!登录阿里云官网:镜像加速器(需要账号登录)

地址是免费的,每个人都有。

将如下代码添加到Docker的设置中

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

进入设置的页面

添加如下:

点击Apply andr esatrt 运用并重启即可

至此配置阿里云镜像加速完毕!

七、容器常用命令

查看版本

docker --version

获取镜像

如果我们本地没有 mysql镜像,我们可以使用docker pull命令来载入 mysql镜像:

查看镜像

docker images

查看所有镜像源:

启动容器

以下命令使用 mysql镜像启动一个容器,参数为以命令行模式进入该容器:

docker run -it mysql /bin/bash

输入exit容器停止运行

所以,更常用的是这种后台启动的方式:

docker run -itd mysql /bin/bash

注意每run一个就创建一个容器!

参数说明:

-i: 交互式操作。-t: 终端。mysql: mysql镜像。/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。 要退出终端,直接输入 exit

指定配置信息运行容器

运行容器,一般是指定容器内的端口和容器的名字(不能与之前的名字重复)

--expose:编辑容器内的端口

--name:编辑容器的名字

最后的my-golang-app 为镜像源

docker run --expose 3888/tcp --name mycontainer-15 my-golang-app

删除容器

docker rm -f 容器ID

运行结果如下:

批量删除

docker rm -f 容器ID1 容器ID2 容器ID……

运行结果如下:

[root@localhost docker]# docker rm -f 31094a8a38df d6e155d5c175 a49250b3790b 87a94ee8c07f ffd24d4aaeca b2b6aeaa9073 ca4c7c1ff87c ccce1fb65649 07efbc1eb5ad

31094a8a38df

d6e155d5c175

a49250b3790b

87a94ee8c07f

ffd24d4aaeca

b2b6aeaa9073

ca4c7c1ff87c

ccce1fb65649

07efbc1eb5ad

[root@localhost docker]# docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

查看容器

常用命令如下:

docker ps -a

运行结果如下:

docker ps -q

运行结果如下:

ps:列出正在运行的容器。

参数说明:

-a:列出所有容器(包括停止的容器)。-q:仅显示容器ID。-f:根据过滤器条件过滤输出。"name=CONTAINER_NAME":过滤器条件,匹配指定名称的容器。

暂停容器

docker pause 容器ID

暂停容器的运行,但是容器并没有停止。

docker unpause 容器ID

恢复容器的暂停。

停止容器

docker stop 容器ID

使用此命令会停止容器的运行,如果想不停止运行,可以使用暂停的命令。

重启容器

docker restart 容器ID

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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

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

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

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

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

713035484779)]

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

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

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取) [外链图片转存中…(img-3AlwoKj1-1713035484779)]

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

[外链图片转存中…(img-wBqRkCG9-1713035484779)]

给大家整理的电子书资料:

[外链图片转存中…(img-1N0bXFNR-1713035484779)]

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长! [外链图片转存中…(img-qItBPg0n-1713035484780)]

精彩文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。