Docker学习实践(一)

一、介绍

这里引用官方的解释,Docker 容器是一个开源的应用容器引擎。让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
我的理解: 它是一个打包应用,存储应用,发布应用的工具,只是这里的应用包括你的程序和程序运行的环境
优点: 不依赖平台,语言,框架,甚至是系统
例子
我有一个python+django+apache+mysql的服务系统,好吧以往我们这样:
1. 现将python环境部好。。。
2. 安装需要的python包。。。
3. 安装mysql,部署好。。。
4. 安装apache服务部署好。。。
5. 。。。。

现在有了docker你需要换种方式打开:
* 在DockerHub搜索相关的镜像。python+apache镜像
* 搜索mysql镜像,将数据库与程序镜像分开的目的是为了以后其他应用也是该数据库
* docker pull 镜像名 ,拉去镜像到本地
* 根据镜像启动一个容器即可运行应用

二、镜像、容器、仓库

镜像(静态)

Docker中的镜像(image),类似虚拟机中的镜像一样。是创建容器的基础,可以直接下载或者使用Dockerfile自己构建更新;它包含了一个基本的操作系统和应用程序的运行环境。

容器(动态)

Docker中的容器(container),基于镜像创建的应用运行实例,类似于一个沙盒,隔离了不同的应用,可以镜像启动,停止、删除等操作。

仓库

Docker中的仓库类似于github,用来存储镜像用的,我们可以将本地自己创建的镜像提交到公开或私人仓库中,使用时直接拉取使用。

三、Docker及docker-compose的安装

  • 安装docker

    • 配置阿里镜像源

      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    • 安装docker

      yum install docker
    • 启动docker服务

      service docker start
    • 设置docker开机启
      systemctl enable docker
  • 安装docker-compose

    • 首先检测centos7中有没有安装过python-pip包,命令如下:

      pip -V
    • 没有python-pip包就执行如下命令安装epel-release依赖:

      yum -y install epel-release
    • 执行成功后,安装python-pip:

       yum -y install python-pip
    • 执行成功后,升级pip组件

      • 一般情况

        pip install --upgrade pip
      • 不行时

        pip install --upgrade pip --trusted-host pypi.python.org
    • 安装docket-compose
      pip install docker-compose
  • 关闭selinux
    • 关闭

      vi /etc/selinux/config
      SELINUX=disabled
    • 重启

      reboot
    • 验证

      /usr/sbin/sestatus

四、Docker的基本命令

  1. 从仓库中拉取一个镜像
# docker pull image_name
  1. 基于一个镜像创建一个容器
# docker create  --name your-container-name  image-name  
  1. 基于一个镜像创建并运行一个容器
# docker run --name your-container-name image-name
  1. 进入一个容器的内部
# docker exec -it your-container-name bash
  1. 停止并删除一个容器
# docker stop your-container-name
# docker rm your-container-name
  1. 删除一个镜像(Docker中不存在基于此镜像的容器时方可删除)
# docker rmi image-name

猜你喜欢

转载自blog.csdn.net/yzlll/article/details/80728279