Docker学习笔记一

一、Docker是什么

  • 概述:

  Docker是Linux容器封装,提供一些简单易用的容器使用接口。
  Docker将应用程序与该程序的依赖,打包在一个文件里面,运行这个文件,就会生成一个虚拟容器。程序在虚拟容器中运行的时候,就好像运行在真的物理机上一样。
  Docker提供版本管理、复制、分享、修改扥功能,就像管理普通代码一样管理Docker容器。

  • 关于其他带环境安装的解决方案:

   环境配置难题软件开发最大的麻烦就是环境配置。开发环境运行没问题,生产不能用。因为生产缺某些组件。换一台机器,就要重新配置一遍。这样太浪费时间和精力了。

   虚拟机的带环境安装的解决方案。缺点:占用资源太多:虚拟机本身耗资源,比如虚拟机中的程序占用1M内存,但是虚拟机本身要几百兆内存才可以运行。冗余步骤多:虚拟机本身是完整操作系统,一些系统级别的操作步骤,无法跳过,比如:用户登录。启动慢:启动操作系统要多久,启动虚拟机就要多久。

   Linux容器:针对虚拟机的缺点,Linux发展出另外的一种虚拟化技术:Linux容器。Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。即:在正常进程外面套一个保护层,对于容器里面的进程来说,它接触到的资源都是虚拟的,实现了与底层系统隔离。
   Linux容器优点:启动快:容器里面的应用,是底层系统中的一个进程,启动容器相当于启动一个进程。而不是一个操作系统。占用资源少:容器只占用需要的资源,不占用哪些没有用到的资源。虚拟机是一个完整的操作系统,不可避免地要占用其他资源。体积小:容器只包含用到的组件,而虚拟机包含整个操作系统的打包。所以 容器文件比虚拟机文件要小得多。

二、Docker的用途

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

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

  • 组件微服务架构。通过多个容器,一台机器可以跑多个服务,听此可以在本机模拟出微服务架构。

三、Docker安装

  • Linux安装

  Docker要求CentOS版本高于 3.10。安装之前可以先查看版本内核:

//1.查看内核版本
uname -r 


//2.安装必要的系统工具:
yum install -y yum-utils device-mapper-persistent-data lvm2

//3.添加软件源信息:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


//4.更新yum缓存
sudo yum makecache fast

//5.安装 Docker-ce
sudo yum -y install docker-ce

//6.启动Docker后台服务:
sudo systemctl start docker

//7.测试运行 hello-world
docker run hello-world

//看到这个证明安装成功
hello from docker  

  • windows安装

  系统是 win10专业版安装 docker from windows 即可。如果不是,需要安装docker tool box。

//1.需要修改 DOcker Quick Start ,右键点,属性,快捷方式,目标:
"D:Program Files (x86)Gitinash.exe" --login -i "C:Program FilesDocker Toolboxstart.sh"	
//git位置

//2.修改脚本后:
DOCKER_MACHINE="C:Program FilesDocker Toolboxdocker-machine.exe"
//这是安装路径

//3.修改start.sh中 VBOXMANAGE 的路径, 19行往下
------------------
STEP="Looking for vboxmanage.exe"
VBOXMANAGE="C:Program FilesOracleVirtualBoxVBoxManage.exe"
#if [ ! -z "$VBOX_MSI_INSTALL_PATH" ]; then
#  VBOXMANAGE="${VBOX_MSI_INSTALL_PATH}VBoxManage.exe"
#else
#  VBOXMANAGE="${VBOX_INSTALL_PATH}VBoxManage.exe"
#fi


四、image文件

  Docker把应用程序及其依赖,打包在 image 文件里面,只有通过这个文件,才能生成Docker容器。
  Docker根据 image文件生成容器的实例。
  image文件可以继承,实际开发中,一个image文件往往通过集成另一个image文件,加上一些个性化设置而完成的。

  • 列出本机所有的image文件
docker image ls
  • 删除image文件
docker image rm [image文件名]

五、用docker安装redis

  • 1、搜索镜像:
docker search redis
  • 2、拉取镜像:
docker pull redis
  • 3、启动
docker run --name myredis -p 6379:6379 -d redis redis-server

//-p 6379:6379  左边6379表示win10端口 右边表示容器中redis端口
//--name 表示 redis镜像的实例名称
//-d 后台运行
  • 4、看进程
docker ps
  • 5、操作redis
///进入容器
docker exec -it 2b377f9840fc bash
// 2b377f9840fc 是docker ps查看的CONTAINER ID
	
//启动redis-cli
redis-cli

//退出
exit

六、推荐一篇详细Docker博客

http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
原文地址:https://www.cnblogs.com/nthforsth/p/12257504.html