• docker学习


    公司有用到docker,表示小白一脸懵逼,好奇了解学习一下。
     
    1、Docker 是一个开源的应用容器引擎。
    Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
    容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
    架构:
    使用客户端、服务器架构模式,使用远程API来管理和创建docker容器。
    docker镜像(images):用于创建docker容器的模板
    docker容器(container):容器是独立运行的一个或一组应用
    docker客户端(client):通过命令行或其他工具使用docker api 与docker的守护进程通信
    docker主机(host):一个物理或虚拟的主机,用户执行docker守护进程与容器
    docker仓库(registry):用来保存镜像,可以理解为代码控制中的代码仓库
    Docker Machine:简化的docker安装命令行工具
     
    2、docker本质:终端命令的虚拟机
    docker的三个概念:
    1)镜像。为静态的,不可操作,只能被pull或者push
    2)容器。为动态的,
    3)仓库。
    3、使用。
    1)查看本地镜像:docker images
    2)查看正在运行的容器:docker ps
    3)启动、停止、重启 容器:
    ~$ docker start aa97ba3292ce ~$ docker stop aa97ba3292ce ~$ docker restart aa97ba3292ce
    4)后台启动一个容器,若想进入这个容器:
    docker attach aa97ba3292ce
     
    5)软件安装完,保存环境
    exit //先退出环境
    docker commit -m "ubuntu with vim" -a "sgy" aa97ba3292ce sgy/ubuntu:vim
    docker images
     
    其中,-m指定说明信息;-a指定用户信息;aa97ba3292ce代表容器的id;sgy/ubuntu:vim指定目标镜像的用户名、仓库名和 tag 信息。
     
    6)容器内使用docker logs命令,查看容器内的标准输出
    docker logs 2b1b7a428627
     
    4、docker客户端
    1)docker ,查看所有命令选项
    2)docker command --help,了解指定的命令
    3)运行一个web应用
     
    runoob@runoob:~# docker pull training/webapp # 载入镜像 runoob@runoob:~# docker run -d -P training/webapp python app.py
    -d:让容器在后台运行。
    -P:将容器内部使用的网络端口映射到我们使用的主机上。
     
    4)查看正在运行的容器
    runoob@runoob:~# docker ps
    5)查看web应用程序日志
    runoob@runoob:~$ docker logs -f bf08b7f2cd89
    6)查看web应用程序进程
    runoob@runoob:~$ docker top wizardly_chandrasekhar
    7)检查web应用程序
    runoob@runoob:~$ docker inspect wizardly_chandrasekhar
     
    8)停止web 应用容器
    runoob@runoob:~$ docker stop wizardly_chandrasekhar
    9)重启web 应用容器
    runoob@runoob:~$ docker start wizardly_chandrasekhar
    10)移除web 应用容器
    runoob@runoob:~$ docker rm wizardly_chandrasekhar
     
    5、docker镜像使用
    1)管理和使用主机镜像
    列出镜像列表:runoob@runoob:~$ docker images
    使用镜像运行容器:runoob@runoob:~$ docker run -t -i ubuntu:14.04 /bin/bash
    2)获取一个新的镜像
    Crunoob@runoob:~$ docker pull ubuntu:13.10
    3)查找镜像
    runoob@runoob:~$ docker search httpd
    4)拖取镜像
    runoob@runoob:~$ docker pull httpd
    5)使用镜像
    runoob@runoob:~$ docker run httpd
    6)更新镜像
    runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash
    7)构建镜像
    runoob@runoob:~$ cat Dockerfile
    runoob@runoob:~$ docker build -t runoob/centos:6.7 .
    6、docker容器连接
    目的:实现通过端口连接到docker容器
    网络端口映射
     
    创建了一个python应用到程序:
    runoob@runoob:~$ docker run -d -P training/webapp python app.py
    查看:runoob@runoob:~$ docker ps
     
     
     

  • 相关阅读:
    计算机为什么要从 0 开始计数?
    MySQL索引结构为什么是B+树
    expdp导出报错ORA-39127
    expdp 跳过坏块
    (转)没有索引导致的DIRECT PATH READ
    Python的实用场景有哪些
    Oracle索引修复 ,ORA-00600: internal error code, arguments: [6200],
    CentOS7.6静默安装19C实例脚本 ORA-27125 [FATAL] [DBT-10322]
    ORA-00313: 无法打开日志组
    cursor: pin S wait on X等待事件的处理过程(转载)
  • 原文地址:https://www.cnblogs.com/LinxiHuang/p/10011564.html
Copyright © 2020-2023  润新知