docker简单学习

本文详细介绍Docker的基本操作,包括容器的启动、交互、重启、查看、停止、删除,以及镜像的查找、拉取、推送、构建、删除。此外,还介绍了端口映射、在容器中部署静态网站的方法,以及Dockerfile指令的使用。
  • 关系图

  • 基本操作

启动容器:docker run IMAGE [COMMAND] [ARG..] //IMAGE指定启动容器使用的镜像,

                                                                                    //COMMAND和ARG指容器启动后运行命令和参数

启动交互式容器:docker run -i -t IMAGE /bin/bash  //-i  --interactive=ture|false 默认是false(为容器始终打开标准输入)

                                                                                  // -t --tty=true|false 默认是false(为创建的容器分配伪tty终端)

                            //启动后以守护形式一直运行容器,用Ctrl+P Ctrl+Q来退出交互式容器的bash,容器会在后台运行

附加到运行中的容器:docker attach CONTAINER ID //再次进入我们已经退出的容器

启动守护式容器:docker run -d IMAGE [COMMAND] [ARG...]

启动并自定义命名容器:docker run -i -t --name

查看容器:docker ps [-a] [-l] //查看当前运行中的容器,加上-a是查看所有的容器,-l是查看最新创建的容器

查看某容器详细信息:docker inspect CONTAINER ID //CONTAINER ID指容器ID

重新启动停止的容器:docker start -i CONTAINER ID

删除已经停止的容器:docker rm CONTAINER ID

查看容器日志:docker logs [-f] [-t] [--tail] CONTAINER ID //-f --follows=true|false 默认为false(一直跟踪日志的变化并返回结果)

                                                                                           //-t --timestampes=true | false 默认为false(返回的结果上加上时间戳)

                                                                                          //--tail = "all" (选择返回结尾处多少数量的日志,不指定返回所有日志)

 

查看容器内进程: docker top CONTAINER ID

在运行中的容器内启动新进程:docker exec [-d] [-i] [-t] CONTAINERID [ARG...]

停止守护式容器:docker stop CONTAINERID //发送一个信号给容器,等待容器的停止

                             docker kill CONTAINERID //直接停止容器

列出镜像:docker IMAGES [OPTSIONS] [REPOSITORY] //四种选项:-a,--all=false(显示所有镜像,默认不显示中间层的镜像)。

                                                                                            //-f,--filter=[](显示时的过滤条件)

                           //--no-trunc=false(不使用截断的形式来显示数据)

                                                                                           //-q,--quiet=false(只显示镜像的image id)

查看镜像详细信息:docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMANE...]

删除镜像:docker rmi [OPTIONS] IMAGES [IMAGE...] //-f,--force=false (强制删除镜像)

                                                                                       //--no-prune=false (保留被删除镜像中被打标签的父镜像)

查找镜像:docker search [OPTIONS] TERM

拉取镜像:docker pull [OPTIONS] NAME [:TAG] //-a.--all-tags=false(匹配到名字的仓库中所有标记的镜像下载到本地)

推送镜像:docker push NAME[:TAG]

构建镜像:docker commit [OPTIONS] CONTAINER [REPOSITORY] [:TAG]//通过容器构建

                                                                                                                        //-a,--author. -m,--message. -p,--pause

                  docker build [OPTIONS] PATH | URL |- //通过Dockerfile文件构建

                                                                               //--force-rm = false,--no-cache=false,--pull=false

                                                                               //-q,--quiet=false,--rm=true,-t,--tag=""

导入镜像:docker load < /root/xx.tar.gz

导出镜像:docker save 镜像 >/root/xx.tar.gz

  • 在容器中部署静态网站

设置容器的端口映射:run [-P] [-p]

1.使用-P将为容器暴露的所有端口进行映射,-P,--publish-all=true | false 默认为false

             docker run -P -i -t IMAGES /bin/bash

2.使用-p能够指定映射哪些容器的端口,-p,--pubilsh=[](四种格式)

               (1)containerPort(只指定容器的端口)

                      docker run -p 80 -i -t ubuntu /bin/bash

     (2)hostPort:containerPort(同时指定宿主机端口和容器端口,这样端口映射是一一对应的)

                      docker run -p 8080:80 -i -t ubuntu /bin/bash

               (3)ip::containerPort(指定ip和容器端口)

                      docker run -p 0.0.0.0:80 -i -t ubuntu /bin/hash

               (4)ip:hostPort:containerPort(指定ip,宿主机端口,容器端口)

      docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash

2.nginx部署流程

 

  •  注:dockerfile指令
    指令说明
    FROM指定所创建镜像的基础镜像
    MAINTAINER指定维护者信息
    RUN运行命令
    CMD指定启动容器时默认执行的命令
    LABEL指定生成镜像的元数据标签信息
    EXPOSE声明镜像内服务所监听的端口
    ENV指定环境变量
    ADD赋值指定的<src>路径下的内容到容器中的<dest>路径下,<src>可以为URL;如果为tar文件,会自动解压到<dest>路径下
    COPY赋值本地主机的<scr>路径下的内容到容器中的<dest>路径下;一般情况下推荐使用COPY而不是ADD
    ENTRYPOINT指定镜像的默认入口
    VOLUME创建数据挂载点
    USER指定运行容器时的用户名或UID
    WORKDIR配置工作目录
    ARG指定镜像内使用的参数(例如版本号信息等)
    ONBUILD配置当前所创建的镜像作为其他镜像的基础镜像时,所执行的创建操作的命令
    STOPSIGNAL容器退出的信号
    HEALTHCHECK如何进行健康检查
    SHELL指定使用SHELL时的默认SHELL类型

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值