美文网首页
Docker的使用(2)

Docker的使用(2)

作者: 5号船长 | 来源:发表于2018-11-14 22:26 被阅读372次

    Docker可以粗略的理解为轻量级的虚拟机。

    主要的几种操作:
    docker build
    docker pull
    docker run
    
    docker images  查看本地所有的docker镜像
    docker run -p 8080:80 -d nginx  运行一个docker镜像,-p 8080:80 表示把镜像的80端口映射到本地的8080端口,-d 表示直接把镜像的终端返回来
    docker ps 可以看到当前正在运行的容器
    docker cp index.php 17addc58c://usr/share/nginx/html  把本地文件拷贝到容器的某个目录中
    docker stop 17addc58c  停止运行一个docker容器
    docker rmi 17addc58c  删除一个镜像
    docker ps -a  查看所有运行过的docker容器
    docker rm 17addc58c  删除停止运行的容器
    docker exec -it nginx /bin/bash  进入到指定容器
    

    我们在docker容器中做的操作都是暂时的

    docker commit -m '提交一个修改' e7c34c31 nginx-new
    执行上面的命令后就会产生一个新的image
    
    docker命令(1).png docker命令(2).png
    Dockerfile

    通过编写简单的文件自创docker镜像

    FROM alpine:latest
    MAINTAINER lss
    CMD echo "hello docker"
    

    docker build -t hello_docker . 在当前目录执行dockerfile文件,生成一个镜像

    Dockerfile例子:

    FROM ubuntu
    MAINTAINER lss
    RUN apt-get update
    RUN apt-get install -y nginx
    COPY index.php /var/www/html
    ENTRYPOINT ["/usr/sbin/nginx", "-g", "daemon off;"]
    EXPOSE 80
    

    Dockerfile语法

    FROM 基础镜像
    RUN 执行命令
    ADD 添加文件
    COPY 拷贝文件
    CMD 执行命令
    EXPOSE 暴露端口
    WORKDIR 指定路径
    MAINTAINER 维护者
    ENV 设定环境变量
    ENTRYPOINT 容器入口
    USER 指定用户
    VOLUME 指定容器所挂载的卷
    
    镜像分层

    Dockerfile中的每一行都产生一个新层


    镜像分层.png
    Volume(存储)

    提供独立于容器之外的持久化存储

    docker run -v /usr/share/nginx/html nginx  运行一个容器,并把它挂载到某个目录
    docker run -v $PWD/code:/var/www/html nginx  运行一个容器,并把本地的一个目录挂载到容器的一个卷上。
    docker run --volumes-from data_container ubuntu /bin/bash  把一个容器挂载到另一个容器
    
    registry(仓库镜像)

    docker中一些常用到术语:

    host  宿主机
    image  镜像
    container  容器
    registry  仓库
    daemon  守护进程
    client  客户端
    

    一些常用到命令:

    docker search golang   在仓库里进行镜像到搜索
    docker pull golang  把镜像拉去下来
    docker push my/golang  把镜像推到仓库里去
    

    docker login 在push之前需要先登录一下,按照提示输入自己的用户名和密码即可。

    多容器app

    docker-compose

    docker-compose.yaml
    yaml是一种比较常用多配置文件。


    yaml文件.png

    docker-compose.yml常用命令:

    build  本地创建镜像
    command  覆盖缺省命令
    depends_on  连接容器
    ports  暴露端口
    volumes  卷
    images  pull镜像
    up  启动服务
    stop  停止服务
    rm  删除服务中的各个容器
    logs  观察各个容器的日志
    ps  列出服务相关的容器
    

    如何编排一个多容器的应用(目前操作理解不是很深刻,之后在做介绍吧)

    总结

    Docker是一个非常好用的技术,大家有时间可以去多试试,多练练!

    相关文章

      网友评论

          本文标题:Docker的使用(2)

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