Docker是什么

Docker是一个轻量级容器技术,有点类似虚拟机技术(xen、kvm、vmware、virtual)。Docker直接运行在当前操作系统智商,不是运行在虚拟机中,但是实现了虚拟机技术的资源格力,性能远远高于虚拟机技术。

Docker支持将软件编译成一个镜像(image),然后在镜像中做好对软件的各种配置,然后发布镜像,使用者可以运行这个镜像,运行中的镜像称之为容器(container),容器的启动是非常快的,基本都是秒。感觉有点像我们平时安装ghost操作系统?系统安装好后软件都有了,虽然完全不是一种东西,但是思路是类似的。

Docker安装

  • CentOS6

    rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    yum update -y
    yum -y install docker-io
    service docker start
    chkconfig docker on
    
  • CentOS 7、Debian、Ubuntu

    curl -sSL https://get.docker.com/ | sh
    systemctl start docker
    systemctl enable docker
    
  • Windows

    祭出度娘 -> Boot2Docker然后傻瓜式安装
    

Docker常用命令及参数

Docker镜像命令
  • Docker镜像检索(可以到https://registry.hub.docker.com)上搜索

    docker search 镜像名
    eg: docker search mysql
    
  • 镜像下载

    docker pull 镜像名
    eg: docker pull mysql
    
  • 查看本地镜像列表

    docker images
    
  • 镜像删除

    docker rmi image-id        (注:image-id可以通过上面的查看本地镜像列表查看)
    docker rmi $(docker images -q)     (这个骚操作是删除所有镜像,一般别这么干)
    
Docker 容器命令
  • 运行容器

    docker run --name container-name -d image-name
    其中--name是你为容器取的名称供你自己以后查看;-d表示detached,意思执行玩这句命令后控制台将不会被阻碍,可以继续输入命令操	作, image-name是你要使用的哪个镜像(当然你得先下载下来,pull命令)
    eg: docker run --name mysql-test -d mysql
    
  • 查看运行中的容器列表

    docker ps
    docker ps -a (注:这个命令是用来查看所有容器的,也就是运行和停止状态的都展示出来,类似ls -a?)
    
  • 停止容器

    docker stop container-name/container-id
    可以通过容器名称或者容器id来停止容器
    eg: docker stop mysql-test
    
  • 启动容器

    docker start container-name/container-id
    eg:docker start mysql-test
    
  • 端口映射

    为啥要用到这个?因为docker运行中使用的端口在本机和本机局域网不通,需要把docker容器中的端口映射到当前主机的端口上,这样局域网	就能访问了
    eg: docker run -d -p 3306:3306 --name port-test mysql
    
  • 删除容器

    docker rm container-id
    docker rm $(docker ps -a -q)
    这两个命令我相信你完全看得懂,一个删除单个,一个删除全部
    
  • 容器日志

    docker logs container-name/container-id
    eg: docker logs lili-port-test
    
  • 登录容器(也就是进入相应的容器,然后进行一些shell操作)

    docker exec -it container-id/container-name bash
    

emmm,大致基本的操作就这些,后面我再看看还有些啥东西,我再补充,毕竟是遇到问题了,才好找对应方案。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐