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入门

Docker入门(转载)的更多相关文章

  1. 【转载】大白话Docker入门(二)

    原文:https://yq.aliyun.com/articles/63517?spm=a2c4e.11153940.blogcont63035.15.12011c3fddklk0 上篇的大白话Doc ...

  2. docker入门实例(转载)

    1.Docker 是什么?Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 或 Windows 机器上( 摘自百度 ) ...

  3. Docker 入门实践

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:张戈 导语 本文从新手视角记录了一个实际的Dokcer应用场景从创建.上传直到部署的详细过程,并简单的介绍了腾讯云容器服务的使用方法 ...

  4. Docker入门学习

    Python爬虫 最近断断续续的写了几篇Python的学习心得,由于有开发经验的同学来说上手还是比较容易,而且Python提供了强大的第三方库,做一个小的示例程序还是比较简单,这不我之前就是针对Pyt ...

  5. 这可能是最为详细的Docker入门吐血总结

    这可能是最为详细的Docker入门吐血总结  https://www.cnblogs.com/ECJTUACM-873284962/p/9789130.html Docker是什么? 在计算机技术日新 ...

  6. Docker(一):Docker入门教程

    如今Docker的使用已经非常普遍,特别在一线互联网公司.使用Docker技术可以帮助企业快速水平扩展服务,从而到达弹性部署业务的能力.在云服务概念兴起之后,Docker的使用场景和范围进一步发展,如 ...

  7. Docker入门之 - 更换源为国内源,实现快速下载image

    原文:Docker入门之 - 更换源为国内源,实现快速下载image 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012055638/artic ...

  8. Docker入门之 - 如何安装Docker CE

    原文:Docker入门之 - 如何安装Docker CE 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012055638/article/det ...

  9. 第三章 Docker 入门

    第三章 docker 入门 3.1 确保docker已经就绪 首先查看docker程序是否存在,功能是否正常 [#3#cloudsoar@cloudsoar-virtual-machine ~]$su ...

随机推荐

  1. 批量删除Zen Cart 无图片商品

    <?php /** * * @ 批量删除Zen Cart 无图片商品 * @ 使用方法: 将本文件上传到网站根目录下运行 http://你的域名/zcdelpro.php * @ $status ...

  2. kotlin递归&尾递归优化

    递归: 对于递归最经典的应用当然就是阶乘的计算啦,所以下面用kotlin来用递归实现阶乘的计算: 编译运行: 那如果想看100的阶乘是多少呢? 应该是结果数超出了Int的表述范围,那改成Long型再试 ...

  3. sql 180. 连续出现的数字

    编写一个 SQL 查询,查找所有至少连续出现三次的数字. +----+-----+| Id | Num |+----+-----+| 1 | 1 || 2 | 1 || 3 | 1 || 4 | 2 ...

  4. main方法类 为何由AppClassLoader加载

    AppClassLoader AppClassLoader应用类加载器,又称系统类加载器,负责在JVM启动时加载来自命令java中的classpath或者java.class.path系统属性或者CL ...

  5. 锁&lock与latch

    锁是数据库系统区别于文件系统的一个关键特性.锁机制用于管理对共享资源的并发访问.Innodb不仅仅使用行锁,也会在数据库内部其它地方使用锁,从而允许对多种不同资源提供并发访问.如:操作缓冲池中的LRU ...

  6. php+上传视频大文件

    理清思路: 引入了两个概念:块(block)和片(chunk).每个块由一到多个片组成,而一个资源则由一到多个块组成 块是服务端的永久数据存储单位,片则只在分片上传过程中作为临时存储的单位.服务端会以 ...

  7. Java进阶知识01 Struts2下的 jquery+ajax+struts 技术实现异步刷新功能

    1.效果图示 横线上方的部分不动(没有刷新),下方实现刷新(异步刷新) 2.实现步骤 jquery+ajax+struts技术实现异步刷新功能的步骤:    1.需要用到 jquery+ajax+st ...

  8. HDU - 3586 Information Disturbing 树形dp二分答案

    HDU - 3586 Information Disturbing 题目大意:从敌人司令部(1号节点)到前线(叶子节点)的通信路径是一个树形结构,切断每条边的联系都需要花费w权值,现在需要你切断前线和 ...

  9. FTP服务器安装配置

    1.安装:yum install vsftpd -y 2.修改配置文件:cd /etc/vsftpd/ cat vsftpd.conf | grep -Ev '^$|^#' listen_port= ...

  10. codeforces1C

    Ancient Berland Circus CodeForces - 1C 如今,Berland 的所有马戏表演都有一个圆形的竞技场,其直径为 13 米,但过去的情况有所不同. 在古代 Berlan ...