Docker详解与实战

一、Docker 简介

        Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

二、Docker 的优点

  • 1、简化程序:
    Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。

  • 2、避免选择恐惧症:
    如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像部署。

  • 3、节省开支:
    一方面,云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件管理的问题,也改变了虚拟化的方式。

三、安装Docker

       依赖安装方式

       yum install -y checkpolicy audit-libs  audit audit-libs-python python-IPy  setools-libs libsemanage libsemanage-python  libcgroup policycoreutils policycoreutils-python container-selinux libtool-ltdl libseccomp wget
     1、下载docker

wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.12.0.ce-1.el7.centos.x86_64.rpm
     2、安装docker

rpm -ivh docker-ce-17.12.0.ce-1.el7.centos.x86_64.rpm
     3、启动docker

systemctl start docker 
     4、开机启动docker

systemctl enable docker

四、Docker使用

       镜像是docker的三大核心概念之一

       Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,docker会尝试先从默认镜像仓库下载(默认使用docker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自动以的镜像仓库。

    1、获取镜像

     比如获取Redis3.0.0的镜像

       第一步,需要到远程的仓库进行搜索

          docker search redis 

      第二步,拉取镜像

          docker pull redis:3.0 
   2、通过docker images查看镜像:

          docker images redis:3.0 

    如果想要快速拉取镜像,可以选择国内一些如:阿里云、163 等

   3、删除镜像

    删除镜像通过命令docker rmi 镜像id完成,需要注意的是,删除镜像前,要删除所有使用到该镜像的容器。

-f参数是强制删除,如果有正在运行的容器使用了该镜像,那么该镜像是不会真正的删除的。

    如:docker rmi  687  

 

 容器是docker的另一个核心概念

 容器是镜像的一个运行实例,所不同的是它有额外的可写文件层。

1、查看容器列表
     通过docker ps命令查看正在运行的容器列表,需要查询所有的容器需要加-a参数:

     查询正在运行的容器:docker ps

     查询所有容器 docker ps -a


2、创建容器

通过docker create 命令可以创建一个容器,这仅仅是创建,并没有启动容器。

用法: docker create --help

运行后显示的重要点意思如下

-i   打开容器的标准输入

–name 指定容器的名称

-p  指定端口,如:docker create -p 16399:6379 redis:3.0,其中16379是主机端口,6379是容器对外端口,二者对应起来

-t, --tty Allocate a pseudo-TTY 让Docke分配一个伪端(pseudo-tt)并绑定到容器的标准输入上

实战创建容器:

docker create -p 16379:6379 --name redis redis:3.0

1、查看容器列表:

docker ps -a

2、启动容器:

docker start 34(34是代表指定容器的id,输入前几位即可)

3、创建并且运行容器
     @ 通过docker create创建了容器,然后通过docker start来启动容器,其实这种做法并不常用。

      更常用的是docker run命令,这个命令的意思是创建并且启动容器。

     @用法:创建并且运行一个redis容器,它的端口是16380。

      docker run -p 16380:6379 --name redis2 redis:3.0

     @为了让容器在后台运行,需要添加参数 -d。

     docker run -p 16380:6379 -d --name redis2 redis:3.0

 3、删除容器

   docker rm dc(dc是容器的id)

4、停止容器

docker stop xxx(容器名或容器id)

5、进入容器
     有些时候我们需要进入容器内,做一些操作,比如,修改配置文件等。

进入容器命令。
    用法:

    docker exec -it redis /bin/bash

    docker inspect redis_s | grep IPAddress  查看docker运行IP

    docker exec -it redis redis-cli  客户端连接redis服务的命令
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值