docker入门-快速学会docker

简介: 本文介绍了Docker的基本概念,包括镜像、容器、tar文件、Dockerfile和仓库,并通过实际操作演示了如何使用Docker。从拉取Nginx镜像、运行容器、修改容器内容、保存容器为新镜像,到使用Dockerfile构建自定义镜像,最后讲解了如何保存和恢复镜像。文中还推荐了一个在线实践平台Play with Docker,方便读者快速上手Docker。

死记硬背一张图image.png

镜像类似于我们是使用的虚拟机,创建虚拟机前需要下载的系统镜像文件,比如iso文件,img文件等等这样一些镜像文件。

容器可以比作正在运行中的一个虚拟机。

tar文件,tar文件类似于vm使用时的vmdk文件。通过load指令可以重新加载成镜像,再通过run指令就能运行起来一个正在运行的虚拟机了(容器)

Dockerfile是一个配置文件,很短,通过写入“如何构建的步骤”,来指定一个镜像是如何构建的。同构哦docker build指令可以将dockerdile构建成一个镜像。

仓库保存了很多第三方已经做好的镜像,比如ubuntu,nginx,mysql,tomcat镜像等等。pull下载,push上传。


下面实操,安利一个非常好的网站。

玩 Docker (play-with-docker.com)

Play with Docker(PWD)是由Marcos LiljedhalJonathan Leibiusky入侵并由Docker公司赞助的项目。

PWD是一个Docker游乐场,允许用户在几秒钟内运行Docker命令。它提供了在浏览器中拥有免费Alpine Linux虚拟机的体验,您可以在其中构建和运行Docker容器,


从仓库来拉取一个nginx镜像

docker pull nginx等价于docker pull nginx:latest

latest是版本,不指定版本就是最新版本。

docker images查看本地有哪些镜像

image.png


docker run -d -p 80:80 nginx运行容器,-d是在后台运行,-p是指定内外映射的端口,前面的是指本机的,后面是指容器内部的端口,nginx是容器名。

docker ps查看正在运行的容器。

image.png

然后在网站的ip位置后面就会多出一个80端口,可以点击打开


docker exec -it ead22 bash进去对容器进行修改,ead22是容器的id,这个完整的id虽然很长,但是不用全部输,只要能区分即可, -it是阻塞运行。

如下图,我们修改了nginx的默认页面

image.png

修改前:

image.png

修改后:

image.png


启动映射一个81端口镜像,然后删除:

docker rm -f bd

删除容器,-f强制删除,bd还是一个id

image.png


commit 将容器重新保存为一个镜像

docker commit ea m1ea是正在运行的容器的id,m1是保存镜像之后的名字。

image.png

重新启动这个镜像然后,访问90端口,发现一样是hello,说明我们修改后的容器,保存为镜像,在重新运行会保存这个变化。


dockerfile方式

首先创建一个index.html文件,里面随便写”wai bu de wenjian“

第二步创建dockerfile:

FROM nginx
ADD ./ /usr/shara/ngnix/html/

FROM 指令是指定dockerfile创建的基础镜像是基于nginx镜像的。

ADD 指令是将当前目录下的所有文件拷贝到指定目录下

docker build -t m2 .构建镜像,其中m2是起的镜像名,点是表示构建当前目录下的dockerfile文件。

image.png

docker run -d -p 100:80 m2启动容器

docker sava m2 >1.tar将名字为m2的镜像保存到1.tar文件里

ls可已查看,看到多出一个文件1.tar

image.png


docker rmi m2可以删除名为m2的镜像

docker load < 1.star1将文件还原为镜像

image.png


dockedr run -d -p 88:80 --name myngix -v `pwd`:/usr/shara/nginx/html/ nginx

--name是指定容器NAME

-v是映射文件

nginx:1.13是镜像名字:版本

相关文章
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
526 2
|
3月前
|
运维 Kubernetes 开发者
解锁现代开发与部署:Docker入门指南
解锁现代开发与部署:Docker入门指南
194 100
|
1月前
|
监控 Kubernetes 安全
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
蒋星熠Jaxonic,技术探索者,以代码为笔,在二进制星河中书写极客诗篇。专注Docker与容器化实践,分享从入门到企业级应用的深度经验,助力开发者乘风破浪,驶向云原生新世界。
还没搞懂Docker? Docker容器技术实战指南 ! 从入门到企业级应用 !
|
4月前
|
NoSQL 安全 Redis
Docker Compose :从入门到企业级部署
Docker Compose 是用于定义和运行多容器应用的工具,支持服务、网络和卷三大核心要素。通过简洁的 YAML 文件,可实现应用的快速部署与管理,适用于开发、测试及生产环境。
363 1
|
Kubernetes Cloud Native 云计算
云原生入门:从Docker到Kubernetes的旅程
【10月更文挑战第2天】本文将带你走进云原生的世界,从基础的Docker容器技术开始,逐步深入到Kubernetes集群管理。我们将通过实际代码示例,探索如何利用这些工具构建、部署和管理现代云应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供宝贵的知识和技能,让你在云原生领域迈出坚实的一步。
265 5
|
8月前
|
Ubuntu Linux Docker
Docker 入门全攻略:安装、操作与常用命令指南
Docker 的世界非常广阔,这只是一个开始,请继续探索和学习 Docker 的高级特性和最佳实践。后续也会继续更新相关的理论与实践内容。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
Linux 持续交付 Docker
掌握Docker:从入门到实践
Docker 是一个开源容器引擎,允许开发者将应用及其依赖打包成可移植的容器,在任意 Linux 机器上运行。本文从基本概念入手,详细介绍 Docker 的安装、基本操作、镜像构建及 Docker Compose 的使用,并通过实战案例展示如何部署 Web 应用、构建微服务架构及实现 CI/CD。通过学习,你将掌握 Docker 的核心功能,提升应用开发和部署效率。
|
Kubernetes Linux Docker
容器化技术Docker入门与实践
容器化技术Docker入门与实践
189 20
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践

热门文章

最新文章