美文网首页docker
Docker学习笔记

Docker学习笔记

作者: Zhai1994 | 来源:发表于2019-08-17 21:16 被阅读0次

    什么是Docker

    Docker是基于Go 语言实现的开源容器项目,诞生于2013年年初,最初发起者是 dotCloud 公司。Docker 自开源后受到广泛的关注和讨论,目前已有多个相关项目(包括 Docker 三剑客、Kubernetes 等),逐渐形成了围绕 Docker 容器的生态体系。
    Docker 的构想是要实现“Build, Ship and Run Any App, Anywhere”, 既通过对应用的封装、分发、部署、运行生命周期进行管理,达到应用组件“一次封装,到处运行”的目的。这里的应用组件,既可以是一个 Web 应用、一个编译环境,也可以是一套数据库平台服务,甚至是一个操作系统或集群。

    Docker安装

    Linux系统(以ubuntu 16.04为例)
    # Update the apt package index:
    sudo apt-get update
    # Install packages to allow apt to use a repository over HTTPS:
    sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        software-properties-common
    # Add Docker’s official GPG key
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    sudo apt-key fingerprint 0EBFCD88
    sudo add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
    sudo apt-get update
    sudo apt-get install docker-
    # Verify that Docker CE is installed correctly by running the hello-world image
    sudo docker run hello-world
    
    MAC OS X系统
    Windows系统
    • 这里仅以Window旗舰版和专业版为例,其他版本使用Docker比较麻烦
    • 下载最新版本EXE文件安装即可,点击这里

    从Docker Hub拉取镜像

    # 拉取ubuntu镜像
    sudo docker pull ubuntu
    

    注意:Linux下使用Docker需要root权限,若不想每次使用的时候都加sudo,请参看这里

    运行镜像

    • 检查镜像是否拉取成功
    sudo docker images
    
    • 如果所列出来的有ubuntu镜像,那说明已经成功,接下来就可以run啦
    sudo docker run -it ubuntu bash
    
    • 现在我们已经成功打开了一个容器(在docker中打开的镜像成为容器),即ubuntu的终端,你可以像操作普通ubuntu镜像一样操作它。如果你对它进行了一些操作需要把它保存出来供别人使用,你需要使用commit命令
    sudo docker commit CONTAINER_ID NEW_IMAGE_NAME
    

    注意:CONTAINER_ID可以通过以下命令查询

    sudo docker ps -a
    
    • 打开已经存在的container
    docker exec -it CONTAINER_ID /bin/bash
    

    拷贝文件

    • 拷贝主机文件到Docker container
    sudo docker cp host_directory CONTAINER_ID:/path/to/directory
    

    保存镜像到本地与加载本地镜像

    # 保存到本地
    sudo docker save your_image > your_image.tar
    # 从本地加载
    sudo docker load < your_image.tar
    

    上传镜像

    docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]
    docker push <hub-user>/<repo-name>:<tag>
    

    清除冗余镜像

    # 删除非启动container
    docker rm $(docker ps -a | grep -v Up | awk '{print $1}')
    # 删除冗余镜像
    docker rmi $(docker images | grep \<none\> | awk '{print $3}')
    # 删除所有镜像
    docker rmi $(docker images | awk '{print $3}')
    

    相关文章

      网友评论

        本文标题:Docker学习笔记

        本文链接:https://www.haomeiwen.com/subject/lrzksctx.html