4、docker基本命令

1、启动交互式容器
    docker run -i -t IAMAGE /bin/bash
    -i  --interactive=true|false 默认是false    (用来告诉docker守护进程打开标准输入)
    -t --tty=true|false 默认是false    (用来告诉docker守护进程为容器分配一个tty终端)
    --rm 这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。
    /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash
    例: docker run -t -t ubuntu /bin/bash
    注意-i -t 可以合在一起写-it

2、查看容器
    docker ps [-a] [-l]

    docker ps        查看正在运行的容器
    docker ps -a     查看所有的容器(包括运行的和非运行的)
    docker ps -l     查看最新创建的容器

3、检查一个容器
    docker inspect [name] [id]
    name、id分别是一个容器的name和id
    此命令返回的是容器的所有的状态信息

4、启动容器时指定容器的名字
    docker run --name=container_01 -i -t ubuntu /bin/bash
    启动一个容器并将容器的名字指定为container_01

5、启动已经停止的容器
    docker start [-i] 容器名或ID

6、删除已停止的容器
    docker rm 容器名
    注意docker rm 命令不能删除运行的容器,只能删除已经停止的容器

7、什么是守护是容器
    1、能够长期运行
    2、没有交互式会话
    3、适合运行运行程序和服务

8、启动守护式容器
    1、
        docker run -i -t IMAGE /bin/bsah
        Ctrl + P Ctrl + Q 注意先按Ctrl + P 再按Ctrl  + Q
    2、
        docker run -d 镜像名 [CONMMAND] [ARG....]
        docker run --name abc -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
        启动一个名字为abc的守护式容器

9、附加到运行中的容器
    docker attach 容器名或ID
    注意退出容器时使用Ctrl + P Ctrl + Q 退出,如果使用exit退出会导致容器终止运行

10、查看容器日志
    docker logs [-f] [-t] [--tail] 容器名
    -f --follows=true|false 默认为flase (一直跟踪日志的变化并返回结果)
    -t --timestramps=true|false 默认为flase (是否在每一条日志2前加上时间戳)
    --tail="all" (返回结尾处多少数量的日志)
    在(8)创建的abc容器, 查看它的日志命令
    docker logs  -f -t --tail 10 abc 首先展示日志的后十行并动态返回日志新的输出,并在每一行日志上加上时间戳

11、查看容器中的进程
    docker top 容器名

12、在运行中的容器启动新的进程
    docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]
    docker exec -i -t abc /bin/bash

13、停止守护式容器
    docker stop 容器名(以信号的方式停止)
    docker kill 容器名(强制停止,快速结束容器)

14、设置容器的端口映射
    docker run [-P] [-p]

    -P --publish-all=true |false 默认为false
    docker run -P -i -t ubuntu /bin/bash

    -p --publish=[]
    containerPost
        docker run -p 80 -i -t ubuntu /bin/bash
    hostPort:containerPort
        docker run -p 8080:80 -i -t ubuntu /bin/bash
    ip:containerPort
        dokcer run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
    ip:hostPort:containerPort
        docker run -p 0.0.0.0:8080:80 -i -t /bin/bash

15、查看容器的端口映射
    docker port 容器名
    或
    docker ps

    注意docker重启docker的端口映射和ip地址都会发生改变

16、查看镜像
    docker images [OPTIONS] [REPOSITORY]
    -a --all=false          在没有指定-a参数时是不显示中间层的镜像
    -f --filter=[]             指定显示时的过滤条件
    -no-trunc=false    不使用截断的方式显示数据(默认情况下显示的镜像的ID是截断的)
    -q --quiet=false    

    查看所有的镜像docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    ubuntu                  latest              452a96d81c30        8 days ago          79.6MB

    REPOSITORY 镜像仓库,即一系列镜像的集合
    TAG 镜像的标签名
    REPOSITORY  加上 TAG 就构成一个完整的镜像名,对应一个镜像的ID
    docker 可以对同一个镜像(镜像id一样)打上不同的TAG

    显示镜像完整的ID字符串
        docker images --no-trunc

    显示所有的镜像(包括中间层镜像)
        docker images -a
        中间层镜像都REPOSITORY 和 TAG 都是node

    只显示镜像的ID
        docker images -q

    查看某个仓库名下的所有镜像
        docker images centos
        查看centos仓库下所有的镜像

    查看镜像的详细信息
        docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE]
        -f --format=""

    镜像名查看镜像的详细信息
        docker inspect ubuntu:latest
    镜像ID查看镜像的详细信息
        docker inspect 镜像的ID

17、删除镜像
    docker rmi [OPUTIONS] IMAGE [IMAGE...]
        -f --force=false   强制删除镜像
        ---no-prune=false 保留镜像中被打标签的副镜像

    以镜像名删除镜像
        docker rmi centos:latest

    以镜像ID删除镜像
        docker rmi e934aafc2206

    批量删除
        docker rmi $(docker images -q ubuntu)
        删除ubuntu仓库下所有的镜像

18、查找镜像
    Docker Hub
    https://registry.hub.docker.com

    docker search [OPTIONS] TERM
        --automated=false     只显示自动化构建的镜像
        --no-trunc=false    不以截断的方式显示    
        -s --stars=0          显示至少有几个心的镜像
        最多返回25个结果

    搜索ubuntu镜像
        docker search ubuntu

    显示至少有几个心
        docker search ubuntu -s 6

    显示搜索的全部的信息
        docker search ubuntu --no-trunc

19、拉取镜像
    docker pull [OPTIONS] NAMES [:TAG]
    -a --all-tags=false 拉取搜索到的所有的镜像

    拉取ubuntu14.04
        docker pull ubuntu:14.04

20、推送镜像
    将本地的镜像push到Docker Hub中

21、构建本地镜像

    1、构建镜像的作用
        保存对容器的修改,并再次使用
        自定义镜像的能力
        以软件的形式打包并分发服及其运行环境

    2、docker 构建镜像的方式
        1、docker commit     通过容器构建
        2、docker build     通过DockerFile文件构建

    3、通过容器构建
        docker commit [OPTIONS] COMTAINER [REPOSITORY][:TAG]
        -a --author="author, XXX@qq.com" 指定作者信息
        -m --message= ""                指定描述信息
        -p --pause=true                 由于commit时默认会暂停执行容器,-p可以指定不暂停构建容器

    4、使用docker commit构建一个容器
        docker commit -a "chao" -m "nginx container" nginx chao/nginx_container
        将容器名为nginx的容器构建成镜像。并指定镜像的仓库为chao/nginx_container

    测试
        运行nginx镜像
        docker run -d --name nginx_01 -p 80 chao/nginx_container nginx -g "daemon off;"
    详见:
        https://yeasy.gitbooks.io/docker_practice/content/image/commit.html
    5、使用DockerFile文件创建镜像
        创建Dockerfile
        使用docker build命令

        mkdir -p dockerfile/df_test01
        vim Dockerfile
        输入
            # first dockerfile for test
            FROM ubuntu:14.04
            MAINTAINER chao
            RUN apt-get update
            RUN apt-get install -y nginx
            EXPOSE 80
        :wq保存
        建立镜像
            docker build -t="chao/df_test01" . (注意 末尾有个点)
        查看镜像docker images
        运行镜像 docker run --name="df_nginx" -p 80 -d chao/df_test01 nginx -g "daemon off;"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值