美文网首页
docker简单学习

docker简单学习

作者: liuvz | 来源:发表于2019-10-24 10:36 被阅读0次

    Table of Contents

    1. docker的使用
      1. image 相关
      2. 容器
        1. run 参数解释
        2. 创建一个镜像
        3. 查看所有的容器
        4. 查看容器的操作历史
        5. 在外部停止容器
        6. 其他指令

    <a id="orge21ea27"></a>

    docker的使用

    docker在运行命令时需要本机有一个docker服务
    启动该服务
    sudo systemctl start docker
    设置该服务开机启动
    sudo systemctl enable docker
    docker将程序及依赖打包进image
    列出docker所有的image
    docker image ls
    因为docker 需要root权限, 每次都要输入sudo 比较麻烦, 可以将当前用户加入docker组
    sudo usermod -aG docker $USER
    完成之后需要注销再登录, 就能不带sudo执行docker命令了, 好像也可以执行newgrp docker来完成, 没试过
    官网

    <a id="orgfef36dd"></a>

    image 相关

    官方image仓库
    换源: docker国内
    mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
    "registry-mirrors": ["https://registry.docker-cn.com"]
    }
    拉取镜像 docker image pull <repository>:<tag> 名字:标签 标签不指定的话就是latest
    列出镜像 docker image ls
    REPOSITORY:表示镜像的仓库源
    TAG:镜像的标签
    IMAGE ID:镜像ID
    CREATED:镜像创建时间
    SIZE:镜像大小
    创建一个镜像 Dockerfile

    <a id="org77697de"></a>

    容器

    一个镜像跑起来就是一个容器
    启动镜像(docker run [-t -i] 仓库/名字:标签 命令)
    一但重启就会恢复到原来的状态

    <a id="org1a8538c"></a>

    run 参数解释

    docker run –help 查看全部帮助

    1. -t 以终端/伪终端运行

    2. -i 可交互的

    3. -d 后台执行

    4. -e 指定环境变量列表

      docker run -e xx=10 -t -i ubuntu /bin/bash
      echo $xx # 10

    5. -p phome:pdocker 将端口内部端口pdocker映射为外部端口phome

    6. –name 给容器指定一个好记的名字

    <a id="orgc035495"></a>

    创建一个镜像

    1. 将指定容器提交为新的镜像

      docker commit -m="注释" -a="作者" 容器id 仓库/名字:标签

    2. 从头创建一个全新镜像

      新建一个Dockerfile
      FROM 从一个基础镜像开始
      MAINTAINER 维护者 邮件
      RUN 执行命令
      EXPOSE 暴露的端口
      ENV 设置环境变量
      USER 设置uid
      VOLUME 访问宿主机上的目录
      WORKDIR CMD的执行路径
      CMD 在镜像生成的容器中运行
      命令必须大写, 每个命令是一层
      其他命令:参考自
      ADD A B 将文件移动到容器 A是宿主机文件,或url, 如果是url的话会下载内容 B是容器位置
      ENTRYPOINT 一个镜像只能有一个该参数, 以最后面的为准, 当有CMD 时, 可以在CMD中只写参数, 不写执行的命令, 这样会将该参数传递给ENTRYPOINT

    <a id="org36e37ce"></a>

    查看所有的容器

    docker ps -a # 查看所有容器 包括已经关闭的
    docker ps # 查看正在运行的容器

    会显示如下:
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    b0ea2a005eb7 ubuntu "/bin/bash" 6 minutes ago Exited (0) 4 minutes ago graciouslehmann
    ed3bd8d910f9 ubuntu "-t -i /bin/bash" 6 minutes ago Created ferventcori

    <a id="org0d5f4a8"></a>

    查看容器的操作历史

    docker logs 容器名字/ID(docker ps [-a] 查询)

    <a id="orgd3881f6"></a>

    在外部停止容器

    docker stop [OPTIONS] CONTAINER [CONTAINER…]
    停止一个或多个容器
    参数 -t, –time 延时xx秒停止

    <a id="orgf331187"></a>

    其他指令

    通过docker展示全部可用操作
    docker 指令 –help 查看详细指令帮助

    attach 加入一个正在运行的容器
    build 从DockerFile创建一个image
    commit 将一个改变后的容器提交为image
    cp 从本地将文件/夹拷贝到容器
    create 创建一个新的容器
    port 查看容器端口映射到宿主机的哪个端口 docker port nostalgicmorse 5000 –> 0.0.0.0:49155 容器5000端口映射在了49155端口
    rm 删除一个停止的容器
    restart 重新启动一个或多个容器
    rename 修改容器的名字

    images 本地共享

    将镜像导出为文件
    docker save -o file_name.zip image_name
    将文件加载为镜像
    docker load -i file_name.zip
    或者:
    docker load < file_name.zip

    相关文章

      网友评论

          本文标题:docker简单学习

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