docker系列之一:初见docker

Posted 888888cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker系列之一:初见docker相关的知识,希望对你有一定的参考价值。

什么是docker?

docker是目前linux最流行的容器技术,Docker 将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样 优点:占用资源小,启动快,体积也小

docker容器与虚拟机有什么区别?

虚拟机(virtual machine)就是带环境安装的一种解决方案,本质上是一个文件夹 虚拟机运行的时候独占系统资源,因为它运行的环境是一个完整的操作系统,我们在运行之前会给虚拟机提前配置相应的物理机的硬盘,cpu和内存等资源,一旦虚拟机运行起来,这些资源他将独自占有 缺点:占用资源多,操作复杂,启动慢

docker和虚拟环境virtualenv有什么区别?

virtualenv只是针对python的隔离工具,是借助语言层面的虚拟机来实现的,不具有通用性。Docker是更底层的虚拟化技术,它是进程级的,也就是说不管什么语言编写的程序都会得到相应的服务

Docker 的主要用途,目前有三大类。

1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。

2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。

3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。

Image

docker运行前的docker叫做image,Docker 把应用程序及其依赖,打包在 image 文件里面,image也就是docker容器的镜像文件,也可以说是模板,一个image可以生成多个不同的docker实例,image像类一样可以继承

Docker的常用操作

docker version 查看本地docker的版本

docker image ls 列出本地镜像列表

docker image rmi [imageName] 删除镜像

docker image pull library/hello-world 从仓库抓取镜像到本地(由于Docker 官方提供的 image 文件都放在library组里面,可以写成:docker image pull hello-world)

docker container ls -a 列出所有状态的容器实例(运行状态和未运行状态都会列出来)

docker container run hello-world 生成docker实例(如果本地不存在hello-world镜像,则会从仓库自动抓取)

docker container start [containerID] 开始一个停止的docker实例

docker container stop [containerID] 让docker容器停止运行服务

docker container kill [containerID] 让docker容器停止运行服务

docker container logs [containerID] 查看 docker 容器的输出

docker container exec 进入一个正在运行的 docker 容器

例如:$ docker container exec -it [containerID] /bin/bash 一旦进入了容器,就可以在容器的 Shell 执行命令了。

docker container cp 从正在运行的 Docker 容器里面,将文件拷贝到本机

例如:$ docker container cp [containID]:[/path/to/file] . #注意看后面有个点哟

添加国内docker镜像源,让我们拉取镜像变得更快

sudo vim /etc/docker/daemon.json 然后添加下面代码: { "registry-mirrors": ["https://y0qd3iq.mirror.aliyuncs.com"] }

docker info|grep Mirrors -A 1 查看镜像源是否成功添加 docker search mysql 从docker镜像源查看是否有mysql

 

更多docker命令请参考https://github.com/KeKe-Li/docker-directive

>>>>下一篇构建自己的docker容器,并且上传至DockerHub>>>>

 

以上是关于docker系列之一:初见docker的主要内容,如果未能解决你的问题,请参考以下文章

DockerDocker概述

Docker 学习总结(71)—— DockerDocker ComposeDocker Swarm 之间的区别

Docker 学习总结(71)—— DockerDocker ComposeDocker Swarm 之间的区别

DockerDocker Machine安装配置远程节点部署docker machine

如何使用DockerDocker-Compose和Rancher搭建部署Pipeline

Docker重学系列之基础知识回顾