zoukankan      html  css  js  c++  java
  • Docker常用命令总结

    本文主要介绍了docker的一些常用命令以及Dockerfile的组成元素

    镜像

    拉取镜像

    docker pull

    查看镜像

    docker images

    删除镜像

    docker rmi

    常用参数:
    1. -f:强制删除运行中的容器

    创建镜像

    1. docker commit

    常用参数:
    1. -m:本次提交信息
    2. --author="" :作者
    2.docker build 使用此从Dockerfile文件来构建镜像

    常用参数:
    1. -t x/y:z:指定镜像的命名空间为x仓库为y,tag为z

    容器

    创建/启动容器

    1. docker create
      docker create命令创建的容器并不会立即进入运行状态,需要使用docker start命令来启动
    2. docker retart 重启容器
    3. docker run

    常用参数:

    1. --name:为容器指定名称
    2. -it:启动一个交互型容器,此参数为我们和容器提供了一个交互shell
    3. -d:创建后台型容器
    4. -restart=always:容器退出后自动重启
    5. -restart=on-failure:x:容器退出时如果返回值是非0,就会尝试重启x次
    6. -p x:y :主机端口:容器端口
    7. -P:随机分配一个49000到49900的端口
    8.-v:创建数据卷
    7. -n :指定dns
    8. -h : 指定容器的hostname
    9. -e :设置环境变量
    10. -m :设置容器使用内存最大值
    11. --net: 指定容器的网络连接类型,支持 bridge/host/none/container
    12. --link=x: 添加链接到另一个容器x
    13. --expose=x: 开放端口x
    

    这里docker create和docker run -it创建的容器都是交互型容器

    查看容器

    1. docker ps 查看正在运行的容器

    常用参数:

    1. -a:查看所有容器
    2. -l:只列出最近创建的
    3. -n=x:只列出最后创建的x个
    3. -q:只列出容器id
    

    停止容器

    1. docker stop
    2. docker kill

    删除容器

    docker rm

    常用参数:

    1. -f:强制删除运行中的容器
    2. docker rm `docker ps -aq`:删除所有容器
    

    查看容器日志

    docker logs

    常用参数:

    1. -f:实时查看日志
    2. --tail=x:查看最后x行
    3. -t:查看日志产生的时间
    

    查看容器进程

    docker top

    查看容器配置信息

    docker inspect
    常用参数:

    1. -f='{{x}}':查看x配置
    

    进入容器

    1. docker attch 进入交互型容器

    常用参数:

    1. -f:强制删除运行中的容器
    2. docker rm `docker ps -aq`:删除所有容器
    
    1. docker exec 进入后台型容器

    常用参数:

    1. -it 容器id /bin/bash:进入到后台容器
    

    Dockerfile

    如下是一个Dockerfile文件,我们就来通过这个文件来学习一下Dockerf的相关指令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    FROM openjdk:8-jre-alpine
    MAINTAINER "syj <syj@zhixiang.org.cn>"
    RUN apt-get update
    EXPOSE 80
    ADD test.0.0.1.jar app.jar
    VOLUME /tmp
    WORKDIR /tmp
    ENV username syj
    CMD java -jar /app.jar
    ENTRYPOINT java -jar /app.jar
    USER root
    ONBUILD:echo "hello child"
    1. FROM:文件开头的指令,指定父级镜像
    2. MAINTAINER: 作者信息,syj是用户名,后面是邮箱
    3. RUN: 用来执行命令,可以有一下三种形式
      1. RUN apt-get update
      2. RUN [ “apt-get”," update" ]
      3. RUN apt-get update && apt-get nginx
    4. EXPOSE: 指定容器对外开放的端口
    5. ADD :将主机上的文件(Dockerfile的相对路径)或者网络文件添加到镜像中
    6. VOLUME :指定挂载点
    7. WORKDIR:下方指令执行的目录
    8. ENV:设置环境变量
    9. CMD:启动容器时默认运行的命令,同RUN的执行方式
      1. CMD java -jar /app.jar
      2. CMD [“java”,"-jar","/app.jar"]
    10. ENTRYPOINT :同CMD
    11. USER :执行指令的用户
    12. ONBUILD:触发器指令,此镜像当做父镜像时执行的命令,可以跟ADD、RUN、ENTRYPOINT

    本文出自http://zhixiang.org.cn/,转载请保留

  • 相关阅读:
    零基础学习java------day4------流程控制结构
    零基础学习java------day3-运算符 以及eclipse的使用
    [Codeforces Round #195 (Div. 2)] A. Vasily the Bear and Triangle
    [POJ] 1011 Sticks
    [Ioi2007]Miners 矿工配餐(BZOJ1806)
    [LA] 2031 Dance Dance Revolution
    [TYVJ] P1023 奶牛的锻炼
    ACM训练计划step 2 [非原创]
    ACM训练计划step 1 [非原创]
    [POJ] 1797 Heavy Transportation
  • 原文地址:https://www.cnblogs.com/zhixiang-org-cn/p/10102645.html
Copyright © 2011-2022 走看看