专栏首页企鹅号快讯Docker入门实操

Docker入门实操

浅色边框标题

docker简介

Linux容器作为一类操作系统层面的虚拟化技术成果,旨在立足于单一Linux主机交付多套隔离性Linux环境。

与虚拟机不同,容器系统并不需要运行特定的guest os。相反,容器共享同一套主机操作系统内核,同时利用guest os的系统库以交付必要的系统功能。由于无需借助于专门的操作系统,因此容器在启动速度上要远远优于虚拟机。

上图是经典对比图,左图是传统的虚拟化,属于平台虚拟化(模拟,全虚拟化,半虚拟化)每个虚拟机运行在自己独立完整的操作系统中;右图是容器,与虚拟机不同,容器系统并不需要运行特定的访客操作系统。

容器能够利用Namespaces、SELinux、chroot以及CGroups等Linux内核功能,从而交付一套类似于虚拟机的隔离性环境。Linux安全模块能够确保来自容器的主机设备与内核访问行为受到妥善管理,从而避免入侵活动的发生。除此之外,容器还能够通过其主机操作系统运行多种不同Linux发行版——只要各类操作系统拥有同样的底层CPU架构要求(然而在生产环境中并不能做到真正意义上的完全隔离);

Docker是开源基于LXC(linux container)的高级容器引擎,基于go语言开源,使用内核的cgroups(文件系统隔离)及namespace(一种命名方法);请记住Docker是容器引擎,平常我们一般都说Docker是容器,但是其本质别搞混了。

安装及运行docker

实验环境中的Docker(CentOS7.3):

1.安装

[root@minion ~]# yum -y install docker(注意配置好yum源,使用的是centos自带的yum源

2. 运行:

安装完成以后我们可以使用docker这个命令,同时在上图中我们看到以下信息:此时的Docker是客户端,有版本,API版本,go版本等信息,最重要的是最后的提示,此时的Docker Daemon并未运行

启动docker服务,然后继续查看版本信息,可以看到服务端相关的信息,如下图所示:

3.查看帮助:

4. 查看本地仓库的镜像:

5. 在DockerHub 上搜索共享镜像:

6.拉取共享镜像:

在拉取前需要更改/etc/docker/daemon.json(国内访问dockerhub速度你懂得,在这里使用了ustc的镜像加速)

{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]}

7.再次查看本地仓库:

像不像git,哈哈。。。

8.总结:

哈哈,总算是把准备工作搞定了,其实准备工作里有很多细节性的东西,比如docker images里有tag标签,我们是可以指定标签名字的,如果使用Docker私有仓库将会接触很多TAG,可以指定上传镜像TAG及下载镜像TAG;同样我们也可以定制自己的镜像,将一些常用服务做成镜像,那么在下次使用时就再也不用安装及配置啦;Docker镜像是分层的,类似我们小时候用的字帖;

是的,容器运行需要:仓库、镜像、容器引擎

运行容器

1.运行一个名字为C1的容器,并获取一个shell;

此时我们进入C1容器的shell在这里可以执行一些基本命令,

例如我们装一下ip这个命令

是不是与在宿主机上没有区别呢?

同样我们是不是可以干坏事呢(从docker里面可以直接进入物理机)

2.离开容器(为什么是离开,如果是退出,那么容器就挂了)

Ctrl+p+q

在这里能看到正在运行的容器,容器的ID使用的镜像,执行的命令,创建时间以及它的名字

3.连接正在运行的容器

又进来了!

4.退出容器

直接从容器退出后,docker ps已经看不到了,那么使用参数-a即可:

5.启动一个退出的容器

又活了

6.使用宿主机停止容器

7.删除容器

先停止再删除

上面docker rm “ID编号”与docker rm “name”效果一样

容器已经没有了;

总结:通过这几个命令,已经可以运行,连接,查看,删除容器了,如果想真正使用这些容器,这些远远不够;

四、总结

一向不关于总结,总是想到哪里说到哪里,以上是Docker的基本命令及操作,通过这些命令我们可以轻易的运行一个容器,并在不使用后销毁,在运行容器的时候你会发现不到很快容器就运行起来了,具体时间看宿主机配置,一般都在1秒左右,和传统虚拟机相比快多啦;

同时,虽然我们已经能够运行容器,但是也存在着问题,端口,服务,存储等等。

本文来自企鹅号 - 运维Linux和python媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 了解云容器的四方面

    对容器的大量需求使企业推出了各种云容器服务。而市场上这么多的选择,很难决定去使用哪一个容器平台或工具。在你了解云容器技术的选择之前,你必须先确定容器是否值得您的...

    企鹅号小编
  • 容器的优势渗透进基于软件的网络

    容器是对IT和网络应用程序开发有重大影响的新技术,容器采用的增加改变了基于软件的网络要求,并为服务提供商提供了通过网络功能虚拟化(NFV)实现其虚拟网络的新选择...

    企鹅号小编
  • NET Core+MySql+Nginx 容器化部署

    1. 引言 上两节我们通过简单的demo学习了docker的基本操作。这一节我们来一个进阶学习,完成ASP.NET Core + MySql + Nginx的容...

    企鹅号小编
  • 谈DevOps中的容器安全

    【编者按】对比虚拟机,Docker在体量等方面拥有显著的优势。然而,当DevOps享受Docker带来扩展性、资源利用率和弹性提升的同时,其所面临的安全隐患同样...

    CSDN技术头条
  • 容器快速入门完全指南

    容器,以及Docker和Kubernetes之类的容器技术已经日益成为许多开发人员工具包中常见的工具。容器化的核心目标是提供一种更好的方式,以可预测和便于管理的...

    CNCF
  • Docker入门

    我们了解到了Docker 的一些基本知识点,它的一些核心概念,Docker的使用安装等。此篇文章我们对 Docker 进行入门讲解

    用户6070864
  • Docker入门

    上一节中,我们了解到了Docker 的一些基本知识点,它的一些核心概念,Docker的使用安装等。此篇文章我们对 Docker 进行入门讲解

    Criss@陈磊
  • Docker入门

    上面我们使用了 docker info 指令,该命令会返回所有容器和镜像的数量、Docker 使用的执行驱动和存储驱动,以及Docker 的基本配置

    JAVA葵花宝典
  • Docker入门

    上一节中,我们了解到了Docker 的一些基本知识点,它的一些核心概念,Docker的使用安装等。此篇文章我们对 Docker 进行入门讲解

    cxuan
  • 从入门到跑路之Kubernetes(二)

    “ 上次的问题主要总结了Namespace和Cgroups,在来讲讲另外两个容器技术rootfs和Volume”

    周萝卜

扫码关注云+社区

领取腾讯云代金券