美文网首页
Docker入门

Docker入门

作者: 冯文议 | 来源:发表于2019-04-14 02:11 被阅读0次

    前言

    docker是啥?
    能干什么?
    好用吗?
    怎么用?
    我感觉难用死了
    又要花成本去学

    你是不是有上面这些问题。

    我们先不讨论docker是啥,我先给你讲个故事。

    我记得以前去一家公司面试的时候,我说我会Spring Boot开发,面试官问我:Spring Boot是啥?我说:使用Spring Boot开发很方便,不需要再像以前的Spring开发,到处找jar或者Maven依赖,造成版本冲突,它还提供了main方法,可以直接运行,代码写法不变,没有任何学习成本。结果面试官说:我觉得Spring开发,自己通过Maven构建也很方便啊。那这。。。这。。。这。。。

    好吧,言归正传,我以前有写过一篇博文——linux服务器怎么快速安装和使用MySQL数据库,当时是在linux上安装MySQL遇到问题后写的。那你有没有考虑过,现在如果用docker安装,只需要2行命令,而且不管你是什么环境,或者版本。

    # 拉取镜像
    docker pull mysql
    # 运行
    docker run ...
    

    没错,这就是我学习Docker的初衷,当然,Docker的强大远不止如此。

    基础知识

    基本概念

    镜像(image)
    容器(container)
    仓库(registry)

    架构图

    Docker 架构图

    简单来说,Docker由三部分组成:客户端、服务端、镜像仓库。

    默认仓库

    Docker Hub

    安装

    Windows

    Mac

    Centos

    基本使用

    先看一下都有哪些命令

    image.png

    版本查看

    简要信息

    docker -v
    

    详细信息

    docker version
    
    image.png

    镜像拉取

    docker pull imageName[:version]
    

    通过镜像名称从远程仓库拉取进行,当然我们还可以指定版本号,默认最后一个版本,也就是最新版本。

    image.png

    镜像查询(本地仓库)

    docker images
    

    或者

    docker image ls
    

    我们也可以使用管道命令进行搜索,如下示例:

    image.png

    镜像搜索(远程仓库)

    docker search name
    
    image.png

    镜像删除

    docker rmi imageID
    
    image.png

    容器运行

    docker run
    

    具体还需要查询官方文档

    MySQL启动说明


    image.png

    Nginx启动说明


    image.png

    所以,我们自己也要对对自己构建的镜像提供说明

    端口映射

    docker run ... -p [port:]port ...
    

    例如

    # 将容器的80端口随机映射到宿主机的一个端口上
    docker run ... -p 80 ...
    
    # 将容器的80端口映射到宿主机的8000端口上
    docker run ... -p 8080:80 ...
    

    想学习更多关于端口映射的知识,请参考:Docker-端口映射

    挂存储卷

    比如MySQL命令

    docker run -p 3306:3306 --name erwin_mysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
    

    我们再看一下官方文档:

    image.png

    简单来说,我们可以将数据存放到我们指定的位置。

    进入容器

    docker exec -it imageID bash
    

    想学习更多关于端口映射的知识,请参考:如何进入Docker容器

    查看容器日志

    docker logs -f imageID
    
    image.png

    查询容器

    查询正在运行的容器

    docker ps
    

    查询所有的容器

    docker ps -a
    

    设置环境变量

    查询镜像的官方文档

    比如我们看MySQL可以设置哪些

    image.png

    容器停止

    docker stop imagesID
    

    容器重新启动

    docker start imagesID
    

    容器删除

    docker rm imagesID
    

    构建

    [未完待续]

    相关文章

      网友评论

          本文标题:Docker入门

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