1. Docker简介

2. Docker常用命令

3. Dockerfile镜像创建命令

4. Docker镜像自动构建

5. docker-compose.yml资源编排文件

6. Docker compose一键启动应用

7. Swarm集群化部署应用

8. 开源项目应用Docker实例

9. Docker源代码

1. Docker简介

Docker是一个开源的应用容器引擎,将应用以及依赖打包到一个可移植的镜像中,部署到服务器并启动Container容器实例,可以实现虚拟化,快捷高效交付应用。

Docker核心概念包括三部分:

1) 镜像Image,将应用和依赖打包生成Docker运行文件。

2) 容器Container,启动运行应用的Docker实例。

3) 仓库Repository,存放Docker镜像文件。

资源编排Docker-compose,通过docker-compose.yml文件声明应用依赖和包含的多个服务,作为一个整体来完成应用系统的创建和启动。

集群化部署Swarm是Docker官方提供的管理工具,将多个Docker节点统一管理组织,以服务作为调度单元,支持集群化动态扩容等特性,适合小型项目使用。

2. Docker常用命令

1) 搜索镜像docker search

2) 拉取镜像docker pull

3) 查看镜像docker images

4) 启动实例docker run

5) 查看实例docker ps

6) 登录容器实例docker exec

7) 停止实例docker stop

3. Dockerfile镜像创建命令

Dockerfile描述镜像构建指令和内容,由一条条的指令组成,每一条指令构建一层。

Dockerfile基本结构包括如下内容:

- 基础镜像信息;

- 维护者信息;

- 镜像构建指令,比如添加文件、安装组件、配置路径、配置数据卷,等等;

- 容器启动时执行指令,比如启动WEB服务。

4. Docker镜像自动构建

Dockerfile完成后,可以在本地运行Docker build命令构建镜像,也可以使用云服务自动构建。

推荐阿里云提供的容器镜像服务,关联代码库,配置构建规则,在代码提交时将自动触发构建。阿里云的构建规则、存储空间都是免费服务。

5. docker-compose.yml资源编排文件

资源编排文件定义应用服务的配置、Docker镜像、启动命令、环境参数等容器信息。

6. Docker compose一键启动应用

1) 加载docker-compose.yml,启动应用docker-compose up

2) 查看启动的服务和容器信息docker-compose ps

3) 查看服务运行时的日志信息docker-compose logs

4) 停止服务docker-compose down

7. Swarm集群化部署应用

1) 初始化集群节点docker swarm init

2) 将节点加入集群docker swarm join

3) 将节点从集群中退出docker swarm leave

4) 显示集群中节点列表docker node ls

5) 加载docker-compose.yml,集群化部署启动应用docker stack deploy

6) 停止应用docker stack rm

7) 查看集群中运行的应用docker stack ls

8. 开源项目应用Docker实例

项目中使用Docker部署,需要配置Docker镜像构建信息和应用启动依赖的服务,主要步骤如下:

1) 代码中增加Dockerfile,配置镜像构建命令过程;

2) 配置云服务,自动构建规则,生成Docker镜像;

3) 增加docker-compose.yml,配置应用需要启动的服务信息;

4) 使用docker-compose或者swarm一键启动应用。

9. Docker源代码

掌握Docker基础知识和应用技能后,可以进一步研究Docker源代码,深入学习技术原理,从而一步步成为Docker专家。

Docker开发语言是Go,开源项目遵守Apache2.0协议,主要模块有Client、Daemon、Registry、Graph、Driver、libcontainer、Docker container等,架构示意图如下。

Docker开源社区包含多个项目,代码托管在Github。

处理Docker技术社区的开源项目,还有containerd,早期作为Docker引擎的核心组件,后来被Docker捐赠出去独立发展,并且新技术社区引入了阿里云,AWS, Google,IBM和微软作为初始会员,随后containerd得到了快速发展和广泛支持,Kubernetes也在2018年5月正式宣布支持containerd,从而使其成为容器运行时管理器的业界标准。

#学浪计划# #学浪计划-教育创作者扶持计划# #Docker# #开源软件# #软件开发#

docker 启动镜像_Docker学以致用,开源项目和云服务,是最好的学习资源相关推荐

  1. Docker启动镜像并进行端口映射

    如何使用Docker启动镜像并进行端口映射 Docker是一种流行的容器化平台,可以帮助开发人员更轻松地构建.测试和部署应用程序.在使用Docker时,启动镜像并进行端口映射是很常见的操作.本文将详细 ...

  2. 【官方】BootCDN-稳定、快速、免费的前端开源项目 CDN 加速服务

    关于 BootCDN BootCDN 是 极兔云 联合 Bootstrap 中文网 共同支持并维护的前端开源项目免费 CDN 服务,致力于为 Bootstrap.jQuery.React.Vue.js ...

  3. 开源CRM+SaaS云服务的生态模式能否撬动中国管理软件市场?

    国内外知名开源CRM软件 开源软件(英语:open source software,英文缩写:OSS,中文也称:开放源代码软件)是一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规 ...

  4. 开源软件让云服务部署加速前行

    开源软件让云服务部署加速前行 为了提高云部署的速度与稳定性,英特尔IT部门为私有云增加了混合解决方案,包括OpenStack软件--一种可扩展的开源云操作环境.使用OpenStack,加上内部代码与现 ...

  5. docker 查看镜像_Docker 核心概念、安装、端口映射及常用操作命令,详细到令人发指!...

    来自小洋人最HAPPY投稿 一.Docker简介 Docker是开源应用容器引擎,轻量级容器技术. 基于Go语言,并遵循Apache2.0协议开源 Docker可以让开发者打包他们的应用以及依赖包到一 ...

  6. docker desktop镜像_Docker简单入门

    这篇文章适合谁? 对于Docker并不了解,只是有一点模糊的感觉,觉得Docker可以当成虚拟机用之类的 只是下载了Docker软件,对于怎么配置,怎么玩,第一步干什么,完全一无所知 其二,我从对Do ...

  7. Docker孵化的5个开源项目

    回顾过去短短的5年时间,容器生态系统和整个社区的创新速度值得关注.这种超速发展很大程度上因为有开源社区的深度参与.这种参与度有助于促进持续创新. 当Docker在2013年发布时,社区立马变得活跃,开 ...

  8. docker ubuntu镜像_Docker 入门指南 | Linux 中国

    该教程包含了如何创建一个新的 Docker 容器,如何运行该容器,如何从现有的 Docker 容器中创建自己的 Docker 镜像等 Docker 的一些基础知识.操作.-- Sk 在我们的上一个教程 ...

  9. idea打包meven镜像_docker打包maven项目推送到阿里云镜像仓库

    自从上次用derrick 创建 nodejs 项目容器之后,以此为砖来引出学习Dockerfile的玉,用docker创建maven项目镜像也分两步走.使用maven plugin docker 创建 ...

最新文章

  1. 还找不到想要的文章吗?公众号搜索方法大全
  2. 五个角度解释深度学习中 Batch Normalization为什么效果好?
  3. 组合数据类型综合练习
  4. 异步编程系列第05章 Await究竟做了什么?
  5. oracle新增表单,Oracle Retail(Retek)中Form生成列表方法总结
  6. python-爬虫学习(文字、图片、视频)
  7. 物联网领域的新贵LoRa
  8. react-redux-store
  9. 问题记录:既然MAC能唯一标识一台设备,那为什么我们还需要IP呢?
  10. python3-pwntools教程_CTF PWN工具篇1
  11. java如何防止sql注入
  12. php与mysql毕业设计_基于PHP的毕业设计管理系统设计与实现毕业论文+项目源码及数据库文件...
  13. memcache客户端命令
  14. Base64转换成图片
  15. 集成混合运动与大功率柔性操作的半人马救灾机器人(4)——项目成果展示
  16. 鲁大师服务器cpu性能排行,鲁大师PC处理器性能排行:AMD撕裂者跑分碾压英特尔, i9 7980XE屈居第二!...
  17. 【二】[详细]针孔相机模型、相机镜头畸变模型、相机标定与OpenCV实现
  18. android 强制卸载app,怎么强制删除安卓手机自带软件(三招就能卸载干净)
  19. 移动端页面性能优化方案
  20. [4G5G专题-89]:流程 - 4G LTE终端在网络侧不同设备中的状态

热门文章

  1. 关于异常信息未找到成员
  2. mount远程驱动器
  3. 如何将 Ubuntu 版本升级到新版本
  4. Python之turtle画奥运五环、斜眼笑脸
  5. git与gitk查看某个文件的历史提交记录
  6. Android7.1启动系统App必须配置加密
  7. android5.1使用SerialManagerService
  8. Android dalvik GC相关的属性详解
  9. Android Studio配置,加快编译速度
  10. C++之模块对于 SAFESEH 映像是不安全的