zoukankan      html  css  js  c++  java
  • Docker学习笔记(一)

    基础命令

    • 启动容器: docker run -dit ubuntu
    • 查看建立的容器: dokcer inspect
    • 自定义容器名:
    dokcer run --name=自定义名 -i -t IMAGE /bin/bash
    
    • 重新启动停止的容器:docker start [-i] 容器名。 -i是以交互的方式启动停止的容器
    • 删除已经停止的容器:docker rm 容器名

    守护式容器

    * 能够长期运行
    * 没有交互式会话
    * 适合运行应用程序和服务
    
    • 以守护式运行容器:
    docker run -i -t IMAGE /bin/bash
    同时按ctrl+P和ctrl+q //退出后容器在后台运行
    
    • 附加到运行中的容器:docker attach 容器名
    • 启动守护式容器:
    //-d 使用后台的方式来执行命令
    docker run -d 镜像名 [COMMAND] [ARG...]
    
    • 查看容器日志:
    docker logs [-f] [-t] [--tail] 容器名
    	-f --follows=true|false 默认false
    	-t timestamps=true|false 默认false
    	--tail="all"
    
    • 查看容器内进程:
    docker top 容器名
    
    • 在运行中的容器内启动新进程:
    docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]
    
    • 停止守护式容器:

      备注:重启容器后容器的ip和端口映射都会发生改变。

    docker stop 容器名 //发送一个信号给容器,等待停止
    docker kill 容器名 //直接停止容器
    

    设置容器的映射端口

    端口映射

    run [-P] [-p]
    
    //将为容器暴露的所有端口进行映射
    -P,publish-all=true | false 默认为false
    	docker run -P -i-t ubuntu /bin/bash
    	
    //指定映射端口
    -p,--publish=[]
    
    containerPort //只制定容器的端口(宿主机的端口是随机映射的)
    	docker run -p 8080:80 -i -t ubuntu /bin/bash
    
    hostPort:containnerPort //同时指定宿主机的端口和容器的端口(一一对应)
    	docker run -p 8080:80 -i -t ubuntu /bin/bash
    	
    ip::containerPort //指定ip和容器的端口
    	docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
    	
    ip:hostPort:containerPort //ip、宿主机端口和容器端口都进行指定
    	docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
    

    查看端口映射

    dokcer port 容器名
    

    练习:在容器中部署静态网站

    //创建映射80端口的交互式容器
    docker run -p 80 --name=web -i -t b2ab0ed558bb /bin/bash	
    //安装Nginx
    yum install -y nginx
    
    //安装文本编辑器vim
    yum install vim
    
    //验证网站访问
    docker port web //查看端口
    

    镜像

    • 列出镜像
     docker images [OPTSIONS][REPOSITORY]
     		-a,--all=false  //默认不显示中间层的镜像
     		-f,--filter=[]  //显示时的过滤条件
     		--no-trunc=false  //不使用截断的形式来显示数据(默认会截断唯一id)
     		-q,--quiet=false  //只显示镜像的唯一id
    
    • 镜像的仓库

    REPOSITORY 仓库 镜像的集合

    • TAG 标签 默认使用latest标签

    • 查看镜像的详细信息(inspect也支持容器的查看)

    docker inspect [OPTIONS]CONTAINER|IMAGE[CONTAINER|IMAGE...]
    	-f,format=""
    
    • 删除镜像
    docker rmi [OPTIONS]IMAGE[IMAGE...]
    	-f,--force=false 强制删除镜像
    	--no-prune=false 会保留被删镜像中被打标签的父镜像
    

    获取和推送镜像

    • 查找镜像
      Docker Hub

        https://registry.hub.docker.com
      
      docker search [OPTIONS]TERM
      	--automated=false
      	--no-trunc=false 
      	-s,--stars=0
      
    • 拉取镜像

      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=true 可以不暂停正在使用的容器
    ```	
    
    • 通过Dockerfile文件构建

      1. 创建Dockerfile文件

      2. 运行docker build命令

      docker build [OPTIONS] PATH | URL | -
      	--force-rm=false
      	--no-cache=false
      	-pull==false
      	-q,--quiet=false
      	--rm=true
      	-t,--tag=""
      

      dockerC/S模式


    Remote API

    连接方式(客户端与服务端的守护进程)

    • unix://var/run/docker.sock
    • tcp://host:port
    • fd://socketfd

    Docker守护进程的配置和操作

    • 查看守护进程

      ps -ef |grep docker
      sudo status docker
      
    • 使用service命令管理

      启动
      sudo service docker start
      
      停止
      sudo service docker stop
      
      重启
      sudo service docker restart
      
  • 相关阅读:
    夺冠概率蓝桥杯
    Memcache配置
    [置顶] 6个月:从小白到程序员,也许没你想的那么难
    Delphi Messagebox自动关闭
    最近读园内的几篇好的文章的摘录及感悟
    近期项目的两点教训
    win7网络连接优先顺序设置方法
    WebSerivce学习笔记
    Delphi 控制摄像头操作
    郁闷的一天
  • 原文地址:https://www.cnblogs.com/zuoruining/p/10810750.html
Copyright © 2011-2022 走看看