zoukankan      html  css  js  c++  java
  • docker应用笔记

     first install it:

    首先安装:

    apt install docker.io

    启动服务:

    /etc/init.d/docker start

    基本概念:

    镜像:相当于虚拟机里的磁盘文件,里面有一套配置好的系统,应用程序

    容器:相当于一个虚拟机实例,一个镜像能打开多个容器,互不干扰,容器里的文件系统都是临时的.改变不影响镜像.

    搜索/下载/查看镜像:

    docker search 关键词

    会根据关键词搜索镜像并显示列表

    列表中的镜像大多是 用户名/镜像名 结构,下载的时候要包含用户名.

    有个别镜像没用户名,那是经过docker官方认证的安全镜像.可放心下载食用(滑稽脸)

    后面会教怎么上传镜像

    docker pull 镜像全名

    会下载镜像

    如果已知镜像全名,可以直接run,会自动下载.

    docker images会显示本地所有镜像,会有镜像ID,操作镜像的时候可通过ID操作(在能区分其它镜像的情况下,只输入前几位即可)....

    打开容器运行镜像:

    建立一个目录给容器内使用:

    不要动容器里的文件目录,重启会丢失!要操作文件自己另外挂载目录进去!如果特殊情况(比如你用apt装了程序)非要这么做,请留意后面的[保存当前容器状态为新镜像]

     mkdir /docker

    接着:

     docker run -i -t  -v /docker:/docker -p 80:80 nginx /bin/bash 

    解释:

    建立一个容器,运行一个nginx镜像,如果找不到,docker会去官网下载

    -i -t  通常成对用,表示让容器的标准输入保持打开,以及让docker建立一个伪终端并附加到容器的标准输入输出上.

    -v /docker:/docker 挂载文件夹到容器内

    -p 80:80 将主机的80端口转到容器80端口

    /bin/bash 打开容器后要运行的指令(允许加参数)

    在容器内切换出去:

    不停止容器:Ctrl+P Ctrl+Q

    停止容器:执行exit指令或者快捷键 Ctrl+A Ctrl+D  (注意:容器停止了但是还是存在的)

    查看容器列表:

    docker ps -l

    容器列表里每个容器都有个ID,操作容器的时候可以通过ID操作,输入前几位就行!里面包含 启动的 和 停止的 容器!

    附加到容器控制台:

    docker attach 容器ID或容器名

    如果容器没运行,得先把它运行起来:

    docker start 容器ID或容器名

    既然有运行,当然也有停止指令..下面就有↓

    删除容器:

    docker rm 容器ID或容器名

    删除之前如果容器没结束,得先结束掉:

    docker stop 容器ID或容器名

    删除镜像:

    docker rmi 镜像ID或镜像名

    删除之前请先删除该镜像相关容器

    保存当前容器状态为新镜像:

    在容器运行中安装配置好后,可将容器状态保存为镜像,指令是:

    docker commit 容器ID或容器名 镜像名

    如果想提交到docker镜像中心,得添加这些参数:

    -a:作者

    -m:说明文本

    比如我的语句:

    docker commit -a "o70078" -m "this is a test" 4200 o70078/oknginx

    上传容器到docker镜像中心:

    首先去docker官网注册账号:https://cloud.docker.com/

    在机器上登录:

    在主机运行 docker login

    会让你输入帐号密码登录

    然后 docker push 镜像名

    导出容器为文件,以及导入文件(所谓的离线分发~):

    导出:docker export 容器ID > 文件路径

    导入:docker import 文件  (可以是在线的http URL)

  • 相关阅读:
    c++ 内存管理
    socket粘包现象加解决办法
    TCP与UDP比较 以及并发编程基础知识
    进程之 Process join方法其他属性与进程Queue
    socket通讯实例与TCP/UDP的区别
    socket介绍
    python中的异常处理机制
    面向对象之多态,多态性,反射,以及基于反射的可拔插设计
    面向对象之元类介绍
    面向对象基础
  • 原文地址:https://www.cnblogs.com/DragonStart/p/7354761.html
Copyright © 2011-2022 走看看