两小时入门Docker教程实践

发布时间:2025-06-05 点击:4
服务器
1.0引入
1.1docker是什么?
docker 最初是 dotcloud 公司创始人 solomon hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 apache 2.0 授权协议开源,主要项目代码在 github 上进行维护。
docker 使用 google 公司推出的 go 语言 进行开发实现。
docker是linux容器的一种封装,提供简单易用的容器使用接口。它是最流行的linux容器解决方案。
docker的接口相当简单,用户可以方便的创建、销毁容器。
docker将应用程序与程序的依赖,打包在一个文件里面。运行这个文件就会生成一个虚拟容器。
程序运行在虚拟容器里,如同在真实物理机上运行一样,有了docker,就不用担心环境问题了。
1.2应用场景
web应用的自动化打包和发布
自动化测试和持续集成、发布
在服务型环境中部署和调整数据库或其他应用
1.3区别
1,物理机
二,虚拟机
三,docker容器
1.4docker的三大概念及优势
1.镜像image
2.容器container
3.仓库repository
docker容易优势
1. 更高效的利用系统资源
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,docker 对系统 资源的利用率更高。
无论是应用执行速度、内存损耗或者文件存储速度,都要比传 统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运 行更多数量的应用。
2. 更快速的启动时间
传统的虚拟机技术启动应用服务往往需要数分钟,而 docker 容器应用,由于直接 运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒级的启 动时间。大大的节约了开发、测试、部署的时间。
3. 一致的运行环境
开发过程中一个常见的问题是环境一致性问题。由于开发环境、测试环境、生产环 境不一致,导致有些 bug 并未在开发过程中被发现。
而 docker 的镜像提供了除内 核外完整的运行时环境,确保了应用运行环境一致性,从而不会再出现 “这段代码 在我机器上没问题啊” 这类问题。
4. 持续交付和部署
对开发和运维(devops)人员来说,最希望的就是一次创建或配置,可以在任意 地方正常运行。
使用 docker 可以通过定制应用镜像来实现持续集成、持续交付、部署。开发人员 可以通过 dockerfile 来进行镜像构建,并结合 持续集成(continuous integration) 系 统进行集成测试,
而运维人员则可以直接在生产环境中快速部署该镜像,甚至结合 持续部署(continuous delivery/deployment) 系统进行自动部署。
而且使用 dockerfile 使镜像构建透明化,不仅仅开发团队可以理解应用运行环 境,也方便运维团队理解应用运行所需条件,帮助更好的生产环境中部署该镜像。
5. 更轻松的迁移
由于 docker 确保了执行环境的一致性,使得应用的迁移更加容易。docker 可以在 很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记本,其运 行结果是一致的。
因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一 个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况。
2.0 docker安装
系统环境:docker最低支持centos7且在64位平台上,内核版本在3.10以上
版本:社区版,企业版(包含了一些收费服务)
官方版安装教程(英文)
博主版安装教程:
# 安装dockeryum install docker# 启动docker systemctl start/status docker # 查看docker启动状态docker version 配置加速器
简介:daocloud 加速器是广受欢迎的 docker 工具,解决了国内用户访问 docker hub 缓慢的问题。daocloud 加速器结合国内的 cdn 服务与协议层优化,成倍的提升了下载速度。
daocloud官网
# 一条命令加速(记得重启docker)curl -ssl https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://95822026.m.daocloud.io3.0 docker基础命令
docker –help(中文注解)
usage:docker [options] command [arg...] docker daemon [ --help | ... ] docker [ --help | -v | --version ] aself-sufficient runtime for containers. options: --config=~/.docker location of client config files #客户端配置文件的位置 -d, --debug=false enable debug mode #启用debug调试模式 -h, --host=[] daemon socket(s) to connect to #守护进程的套接字(socket)连接 -h, --help=false print usage #打印使用 -l, --log-level=info set the logging level #设置日志级别 --tls=false use tls; implied by--tlsverify # --tlscacert=~/.docker/ca.pem trust certs signed only by this ca #信任证书签名ca --tlscert=~/.docker/cert.pem path to tls certificate file #tls证书文件路径 --tlskey=~/.docker/key.pem path to tls key file #tls密钥文件路径 --tlsverify=false use tls and verify the remote #使用tls验证远程 -v, --version=false print version information and quit #打印版本信息并退出 commands: attach attach to a running container #当前shell下attach连接指定运行镜像 build build an image from a dockerfile #通过dockerfile定制镜像 commit create a new image from a container\\\'s changes #提交当前容器为新的镜像 cp copy files/folders from a container to a hostdir or to stdout #从容器中拷贝指定文件或者目录到宿主机中 create create a new container #创建一个新的容器,同run 但不启动容器 diff inspect changes on a container\\\'s filesystem #查看docker容器变化 events get real time events from the server#从docker服务获取容器实时事件 exec run a command in a running container#在已存在的容器上运行命令 export export a container\\\'s filesystem as a tar archive #导出容器的内容流作为一个tar归档文件(对应import) history show the history of an image #展示一个镜像形成历史 images list images #列出系统当前镜像 import import the contents from a tarball to create a filesystem image #从tar包中的内容创建一个新的文件系统映像(对应export) info display system-wide information #显示系统相关信息 inspect return low-level information on a container or image #查看容器详细信息 kill kill a running container #kill指定docker容器 load load an image from a tar archive or stdin #从一个tar包中加载一个镜像(对应save) login register or log in to a docker registry#注册或者登陆一个docker源服务器 logout log out from a docker registry #从当前docker registry退出 l

特意等今天才买云服务器
网站排名突然掉了该如何快速恢复SEO优化排名?
百度云域名和服务器怎么样
Pandownload全新版本-Windows不限速下载百度网盘专用工具,没有开通任何会员,速度25.8MB/s!
专业绘图显卡排行_quadro显卡性能排名2020
电脑中怎样自定义Word2010快捷键
网站空间怎么样买
汕头云邮箱哪个收发稳定