zoukankan      html  css  js  c++  java
  • docker 笔记 docker 基础 docker 常用命令

    • 创建容器

    docker create ubuntu:14.04 --name="name"

    docker run ubuntu:14.04 --name="runname"

    run 和 create 的区别

    create 只创建容器不启动 ; run 创建容器并启动

    • 交互型容器

    运行在前台 exit 、 docker stop 、 docker kill 退出终端并停止

    -i 打开容器的标准输入 (STDIN)

    -t 为容器建立一个命令行终端(shell)

    ex:

    docker run -i -t --name="inspect_shell" ubuntu /bin/bash

    • 后台型容器

    docker run -name daemon_while -d ubuntu /bin/sh -c "while true ;do echo hello docker ; sleep 1; done"

    -d

    • 查看容器

    docker ps

    查看当前正在运行的容器

    docker ps -a

    查看所有容器

    docker ps -a -q

    只显示容器ID 可用于关闭/删除所有容器

    docker ps -l

    只列出最后创建的容器

    docker ps -n=2

    -n=X 列出最后创建的X个容器

    • 启动容器

    docker start 容器名或ID

    --restart 让容器能够自动重启

    --restart=always 不管容器返回码是什么都会重启

    --restart=on-failure:5 当收到一个非 0 的返回码时,最多尝试重启容器5次

    • 终止容器

    docker stop 容器名或ID

    • 删除容器

    docker rm 容器名或ID

    -f 强制删除

    docker rm 'docker ps -a -q'

    • 依附容器

    docker attach ubuntu

    后台型容器是无法依附终端的,因为它本身就不接受用户交互输入

    • 查看容器日志

    docker logs -f 容器名

    -f 实时查看日志

    -f --tail=5 实时查看最后5行日志

    -f --tail=5 -t 实时查看最后5行日志以及日志产生时刻

    • 查看容器进程

    docker top 容器名

    • 查看容器信息

    docker inspect 容器名

    用于查看容器的配置信息,包含: 容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等

    -f或 --format

    docker inspect --format='{{ .State.Running }}' deamon_dave

    docker inspect --format='{{ .NetworkSettings.IPAddress }}' deamon_dave

    • 容器内执行命令

    后台型任务

    docker exec -d 容器名 touch /etc/new.file

    交互型任务

    docker exec -t -i 容器名 /bin/bash

    • 容器导入和导出

    docker export 容器名 > my_xx.tar

    cat my_xx.tar | docker import - imported:container

    docker import URL res:tag

    镜像:

    镜像是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一次改变已读写层的形式增加到原来的只读文件上。

    镜像管理

     docker images  
    
     docker insect 容器名
    
    
     docker search  容器名  
    
    
    docker pull 容器名 
    
    
    docker rmi 容器名ID 
    
    
    docker commit -m="message" --author="duoban" ID tag 
    
     docker commit -m="message" --author="duoban" ID duoban/test:v1 
    
    

    Dockerfile

    1 # Version: 1.0.1

    制定待扩展的父级镜像。
    2 FROM ubuntu:latest
    3
    声明创建的镜像的作者信息
    4 MAINTAINER duoban "duoban@db.com"
    5
    6 #设置root用户为后续命令的执行者
    7 USER root
    8
    9 #执行操作
    10 RUN apt-get update
    11 RUN apt-get install -y nginx
    12
    13 #使用&&拼接命令
    14 RUN touch test.txt && echo "abc" >> abc.txt
    15
    16 #对外暴露端口
    17 EXPOSE 80 8080 1038
    18
    19 #添加文件
    20 ADD abc.txt /opt
    21
    22 #添加文件夹
    23 ADD /webapp /opt/webapp
    24
    25 #添加网络文件
    26 ADD https://cdn.pixabay.com/photo/2016/01/03/00/09/whale-1118876_1280.jpg /opt/
    27
    28 #设置环境变量
    29 ENV WEBAPP_ROOT=9090
    30
    31 #设置工作目录
    32 WORKDIR /opt/
    33
    34 #设置启动命令
    35 ENTRYPOINT ["ls"]
    36
    37 #设置启动参数
    38 CMD [ "-a", "-l" ]
    39
    40 #设置卷
    41 VOLUME ["/date" , "var/www"]
    42

  • 相关阅读:
    html5储存篇(二)
    html5 存储篇(一)
    【刷题计划1】【poj分类转载】【8月20号开始】
    【如何搭建一个属于自己的独立博客~~~基于windows系统,使用wordpress建站】【弱菜一枚~~大神请路过】
    第六章 6.6 图的应用
    第六章 6.5 图的遍历
    第六章 6.4 图的存储结构
    poj 2488 A Knight's Journey 【dfs】【字典序】【刷题计划】
    【Educational Codeforces Round 33 B】Beautiful Divisors
    【 Educational Codeforces Round 33 A】Chess For Three
  • 原文地址:https://www.cnblogs.com/duoban/p/12053161.html
Copyright © 2011-2022 走看看