• bayaim——听课笔记_01.Docker基础应用 10课.txt



    ===========2019年8月5日18:39:06====================
    10.20.100.21
    root
    bayaim

    ==========01-Docker介绍===================
    docker -- go 语言编写
    一次运算,到处运行
    只能 运行在linux 64位系统

    docker 组成: (后台进程)
    1.镜像(image)
    2.容器(container)
    3.仓库(repository)
    docker 和 openstack 对比

    ========02-Docker应用场景===================
    1.简化配置 (构建一次就好)
    2.提高开发效率
    3.应用的隔离
    4.服务器的整合
    5.多租户环境下使用
    6.快速的部署
    7.代码流水线管理
    8.开发调试的工作
    微服务

    ==========03-Docker镜像和容器===================

     

    docker search httpd //查找镜像
    docker pull 镜像名称:镜像版本号 //从docker官方镜像仓库下载镜像
    docker pull mysql

    ------------------------------------------------------------------------
    docker run -i -t centos /bin/bash 在容器里启动一个/bin/bash shell环境,可以登录进入操作,其中-t 表示打开一个终端的意思,-i表示可以交互输入。
    docker run -d -i -t centos /bin/bash 在后台启动
    docker run -d centos:v1 /bin/bash ,-d表示在后台启动,以daemon方式启动。
    docker run -d -p 80:80 -p 8022:22 centos:latest /usr/bin/sshd -D
    docker run -d --name mynginx nginx
    docker run -d -i -t --name myubuntu ubuntu /bin/bash

    docker exec -it 容器名称 /bin/bash //进入容器内部


    docker ps -a | grep nginx
    docker ps //查看运行的容器
    docker ps -a //查看所有的容器
    docker ps -l 命令获得最后一个容器的id,docker ps -a查看所有的容器

    docker start 容器名称 //启动容器
    docker stop 容器名称 //停止运行的容器
    docker restart 容器名称 //重启容器

    docker inspect 容器名称 //查看容器详细
    docker logs -f --tail=100 容器名称 //查看容器日志并指定日志行数为100

    docker rm 容器名称 //删除容器 --必须停止容器才能删除容器
    docker rmi 镜像名称:镜像版本号 //删除镜像 --必须删除容器才能删除镜像


    yum install -y util-linux
    docker ps -l
    docker inspect --format "{{.State.Pid}}" mynginx

    这里有报错“mesg: ttyname failed: No such file or directory” ,,
    解决方法是在 nsenter 指令后面指定一个执行的shell,, /bin/bash
    [root@devdtt ~]# nsenter --target 11950 --mount --uts --ipc --net --pid /bin/bash


    #!/bin/bash
    CNAME=$1
    CPID=$(docker inspect --format "{{.State.Pid}}" $CNAME)
    nsenter --target "$CPID" --mount --uts --ipc --net --pid /bin/bash

    docker exec -it 容器名称 /bin/bash //进入容器内部

    -----------访问-----ip 技术

    apt-get update
    apt-get install iputils-ping
    apt install net-tools

    随机映射: -P (大写P) docker run -P -d --name mynginx1 nginx
    指定端口: -p (小写) docker run -d -p 91:80 --name mynginx2 nginx


    ==========05-Docker 的数据管理===================

    数据卷

    docker run -it --name volume-centos -h nginx -v /data centos

    docker inspect 容器名称 //查看容器详细
    数据卷容器
    docker inspect -f {{.Volumes}} volume-centos
    docker inspect -f {{.Config.Volumes}} volume-centos

    docker inspect volume-centos | grep Mounts -A 10

    docker run -it --name volumes-test2 -h nginx -v /opt:/opt centos


    ============06-Docker镜像构建-手动构建===================

    docker exec -it 容器名称 /bin/bash //进入容器内部

    yum install -y wget gcc gcc-c++ make openssl-devel

    yum -y install pcre-devel

    wget http://nginx.org/download/nginx-1.17.2.tar.gz
    wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

    tar zxf nginx-1.17.2.tar.gz
    useradd -s /sbin/nologin -M nginx

    ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --conf-path=/usr/local/nginx/conf/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --with-pcre


    vi /etc/rc.local
    /usr/local/nginx/sbin/nginx
    vi /usr/local/nginx/conf/nginx.conf
    daemon off;

    docker commit -m "my nginx" 34cc2130e40d baipy/my-nginx:v1
    docker images
    docker run -d -p 99:80 baipy/my-nginx:v2 /usr/local/nginx/sbin/


    ============07-Docker镜像构建-Dockerfile===================

    dockerfile
    docker build -t
    Dockerfil

    from
    maintainer
    run
    add
    workdir
    volume
    expose

    ============08-Docker核心原理-资源隔离和限制===================
    LXC linux 的容器技术 kernel namespace

    docker pull registry
    namespace
    pid
    资源隔开


    ============09-Docker核心原理-网络和Registry============

    host 模式

     

     

  • 相关阅读:
    九月腾讯,创新工场,淘宝等公司最新面试三十题
    java静态变量和实例变量的区别
    海量数据处理:十道面试题与十个海量数据处理方法总结
    持有对象(看think in java)
    在myeclipse9.0中安装插件SVN(掌握通用安装插件的方法)
    java的垃圾回收机制(think in java学习总结):
    CSS控制文本自动换行
    jquery获得select option的值 和对select option的操作
    JS操作table!js table行数
    jquery ui datepicker 只能选今天以后的日期
  • 原文地址:https://www.cnblogs.com/bayaim/p/11968903.html
Copyright © 2020-2023  润新知