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

    读书笔记,持续更新

    核心概念

    1. 镜像
      类似虚拟机镜像,通常包含一个基本的操作系统环境。
    2. 容器
      类似于一个轻量级沙箱,docker利用容器来运行和隔离应用。
    3. 仓库
      docker仓库类似于代码仓库,集中存放镜像文件。

    安装

    Docker目前只支持64位平台

    Mac

    brew一把梭简单粗暴

    brew install docker
    

    Ubuntu

    系统信息

    Ubuntu 18.04
    Linux VM-0-3-ubuntu 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
    

    安装命令

    sudo apt-get install -y apt-transport-https
    

    用官方自动脚本

    sudo curl -sSL https://get.docker.com/ | sh
    

    看下安装结果

    配置服务

    每次都要加sudo很麻烦
    添加用户组

    sudo usermod -aG docker ubuntu
    

    管理服务:
    sudo systemctl start docker.service

    wget -qO- https://get.docker.com/ | sh
    

    Docker镜像

    DockerHub

    常用命令

    docker pull 获取镜像
        -a 获取所有
    docker images 列出镜像
        -a 列出所有
        --digests 列处数字摘要
        -f 过滤
        --no-trunc 截断 默认为是
    docker tag 添加标签
    docker inspect 查看详细信息
    docker history 查看镜像历史
    docker search 搜索镜像
        --automated 仅显示自动创建的
        --no-trunc 输出不截断 
        -s 筛选评价星级
    docker rmi 删除镜像
    
    docker load 加载镜像
    docker load --input demo.rar 
    docker load < demo.rar
    
    docker push 上传镜像
    

    获取镜像:docker pull NAME[:TAG]
    搜索镜像:docker search NAME

    镜像的ID唯一标识镜像。可用ID前若干个字符替代完整ID。
    docker inspect 查看详细信息

    创建镜像

    基于已有镜像的容器创建

    docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

    -a, --author="":作者信息
    -c, --change=[]:提交的时候执行Dockerfile命令
    -m, --message="":提交消息
    -p, --pause=true:提交时暂停容器运行
    

    容器操作

    创建容器

    docker create
    创建后用docker start启动。

    也可以直接新建并启动
    docker run ubuntu /bin/echo 'hello world'
    启动终端
    docker run -it ubuntu:14.04 /bin/bash

    常见错误代码:

    • 125:docker daemon执行出错
    • 126:指定命令无法执行,如权限问题
    • 127:容器内命令无法找到

    守护态运行

    参数 -d
    docker logs获取输出信息

    端口映射

    -P :是容器内部端口随机映射到主机的高端口。
    -p : 是容器内部端口绑定到指定的主机端口。

    终止容器

    docker stop
    也可用exitctrl+D退出容器终端同时终止容器

    进入容器

    attach

    不方便 很少用

    docker attach [--detach-keys][--no-stadin][--sig-proxy] CONTAINER
    

    exec

    docker exec -it CONTAINER /bin/bash
    

    nsenter

    之前用这个方法tcpdump抓docker的流量

    docker ps | grep xxx 获取容器id/name
    docker inspect --format "{{.State.Pid}}" container_id/name 获取PID
    nsenter -n -t container_id/name 使用nsenter切换网络命名空间
    tcpdump -i eth0 -w xxx.pcap
    

    删除容器

    docker ps -a查看处于终止状态的容器

    使用docker rm删除,并不能删除正在运行的容器
    可以加-f参数强行删除

    导入导出容器

    参考

    《Docker技术入门与实战》

  • 相关阅读:
    my read map subway / metro / map / ditie / gaotie / traffic / jiaotong
    hd printer lexmark / dazifuyin / dayin / fuyin
    软件应用程序的打包和部署
    99款高质量免费(X)HTML/CSS模板
    PetShop4.0的安装、设置、调试与体验(草稿)
    山塞一个PetShop(Task000)——架构
    如何用C#开发的计算器小软件
    DIV+CSS布局参考站点
    影响计算机性能的设置
    ASP.NET知识点:母版页的路径问题
  • 原文地址:https://www.cnblogs.com/twosmi1e/p/13303164.html
Copyright © 2011-2022 走看看