Docker的基础操作


[toc]


Docker是什么

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

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

Docker安装

  • CentOS6

    1
    2
    3
    4
    5
    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

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

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

Docker常用命令及参数

Docker镜像命令

  • 镜像下载

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

    1
    docker images
  • 镜像删除

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

Docker 容器命令

  • 运行容器

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

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

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

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

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

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

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

    1
    docker exec -it container-id/container-name bash
  • 列出所有的容器 ID

    1
    docker ps -aq
  • 停止所有的容器

    1
    docker stop $(docker ps -aq)
  • 删除所有的容器

    1
    docker rm $(docker ps -aq)
  • 删除所有的镜像

    1
    docker rmi $(docker images -q)
  • 复制文件

    1
    2
    docker cp mycontainer:/opt/file.txt /opt/local/
    docker cp /opt/local/file.txt mycontainer:/opt/

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

谢谢你请我吃糖,Mua
0%