Docker入门

一、Docker

1、什么是容器?

  容器就是将软件打包成标准化单元,用于开发、交付和部署。容器是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。
简单的讲,容器就是一个存放东西的地方,比如衣柜就是可以存放衣物的地方,容器可以用来存储软件。

2、什么是Docker?

(1)Docker是一种开源的容器引擎,能够自动执行重复性的任务(比如搭建、配置开发环境)。
(2)Docker不是虚拟机,是一个轻量级容器技术,但是实现了虚拟机技术的资源隔离。
注:
  虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统。
  容器虚拟化的是操作系统而不是硬件,容器之间是共享同一套操作系统资源的。
(3)容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
(4)Docker支持将软件编译成一个镜像文件,并在镜像文件中配置各种软件,将编译好的镜像文件发布出去后,别人使用时就可以直接使用镜像里的各种软件。运行中的镜像即为一个容器,且容器启动很快(比虚拟机快)。

3、Docker核心概念

(1)Docker主机(Host):安装了Docker的机器(直接装在操作系统上,比如linux上安装docker),一个物理或者虚拟的机器,用于执行Docker守护进程和容器。
(2)Docker客户端(Client):用于连接Docker主机并进行操作。通过命令行或者其他工具操作Docker。
(3)Docker镜像:用于创建Docker容器的模板,一些打包好的软件镜像。
(4)Docker仓库:用于保存镜像文件,可以理解为代码仓库。
注:
  DockerHub : https://hub.docker.com/
(5)Docker容器:指的是独立运行的一个或一组应用,每个镜像启动后就是一个容器,一个镜像启动多次就是多个容器。

4、Docker使用步骤

(1)安装Docker。参考网址: https://blog.csdn.net/GO_D_OG/article/details/75675159
(2)去Docker仓库找到想要的镜像文件,并下载。
(3)使用Docker运行镜像文件,会生成一个容器。
(4)通过控制容器的启动与关闭来操作软件的启动与关闭。

5、Docker常用操作

(1)操作镜像文件:(命令行操作)

【从DockerHub上检索镜像】
docker search 关键字
比如(检索mysql镜像) : docker search mysql 【下载镜像】
docker pull 镜像名:标签名 其中标签名指的是版本号,若不写则默认为最新版本
比如(下载mysql .5版本) : docker pull mysql:5.5 【查看本地的镜像列表】
docker images 【删除本地镜像】
docker rmi image-id

(2)容器操作

【运行镜像】
docker run --name container-name -d -e MYSQL_ROOT_PASSWORD image-name
其中:
--name 表示自定义一个容器名
-d 表示后台运行
image-name 用于指定下载的镜像文件
-e MYSQL_ROOT_PASSWORD 用于设置参数,mysql没指定某个参数的话,会报错(一个坑)
比如(运行mysql):
   docker run --name mysqlDemo -d -e MYSQL_ROOT_PASSWORD=123456 mysql:5.5
其会生成一个id 【查看运行中的容器】
docker ps -a
其中:
-a 可以查看所有的容器(包括非运行的容器) 【停止指定容器】
docker stop container-name/container-id 【启动指定容器】
docker start container-name/container-id 【删除指定容器】
docker rm container-id 【端口映射,将主机端口映射到容器端口】
若不映射,通过访问主机端口,不会访问到容器中,则容器没有用。
-p 主机端口:容器端口
比如:
docker run --name mysqlDemo -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.5 【查看容器日志】
docker logs container-name/container-id

转载自:

Docker入门

最新文章

  1. Appium scroll 滑动查找
  2. spring MVC 尝试传参json(应用部分)
  3. 程序员的经济学系列——你不可不知的生存智慧——第一篇:小X是要成为IT精英的男人!
  4. 2017技术核心——Spring
  5. asp.net ajax控件tab扩展,极品啊,秒杀其它插件
  6. C#复习⑤
  7. 谷歌 火狐 CSS兼容
  8. Converting from Decimal Notation to Binary Notation for Fractions
  9. 华为OJ平台——矩阵乘法
  10. IOS 学习笔记 2015-03-20 OC-集合-数组
  11. 关于float与double
  12. Linux中的搜索命令
  13. GCC、GDB、Makefile
  14. UVa 11233 - Deli Deli
  15. cocos2d-x3.0 经常使用绘图方法
  16. 读书笔记 effective c++ Item 29 为异常安全的代码而努力
  17. Windows 10安装Docker 步骤及顺序
  18. styled-components的基本使用
  19. C# CancellationTokenSource 终止线程 CancellationTokenSource实现对超时任务的取消
  20. vue中filter的用法

热门文章

  1. 陌上花开 HYSBZ - 3262 (CDQ分治)
  2. JS特殊写法
  3. 什么是DNS
  4. markdown 使用总结
  5. @RequestMapping的简单理解
  6. 51 Nod 1282 时钟 (循环中的最小表示+哈希)
  7. noi.ac#458 sequence
  8. jquery文章链接
  9. AcWing:144. 最长异或值路径(dfs + 01字典树)
  10. html基础(img、a、列表 )