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

    1.Docker安装步骤:

    1.yum install epel-release  #安装 EPEL`扩展库
    2.yum install docker-io     #开始安装`Docker`。在`CENTOS 6`上面,`Docker`的包在扩展库里面,叫`docker-io`,在`CENTOS 7`已经加入到官方REPO
    上了,软件包的名称也直接叫`docker`了。
    3.service docker start #启动docker服务
    4.chkconfig docker on #开机启动

    2.Docker常用命令:

     1.查看正在运行的容器
    
       docker ps
    
       docker ps -a 为查看所有的容器,包括已经停止的。
    
      2.查看所有镜像
    
       docker  images  -a
    
      3.查看容器日志
    
       docker  logs -f <容器名 or ID>
    
      4.删除所有容器
    
       docker rm $(docker ps -a -q)
    
      5.删除单个容器
    
       docker rm <容器名 or ID>
    
      6.停止、启动、杀死一个容器
    
       docker stop <容器名 or ID>
    
       docker start <容器名 or ID>
    
       docker kill <容器名 or ID>
    
      7.删除所有镜像
    
       docker rmi $(docker images | grep none | awk '{print $3}' |sort -r)
    
      8.下载centOS6版本镜像

       docker  pullcentos:6   

      9.创建一个容器,让其中运行bash应用

       docker run -t -i centos:6 /bin/bash 

    10.创建镜像

    docker commit -m "Added json gem" -a "Docker Newbee" 0b2626b0e5a8 centos/6:v2
    -m来指定提交的说明信息(类似版本控制工具)-a指定更新的用户信息 用来创建镜像的容器ID 指定目标镜像的仓库名和tag信 息

    11.使用新镜像来启动容器

    docker run -t -i centos/6:v2 /bin/bash

    3.Dockerfile 来创建镜像

     1.使用docker build来创建镜像
         新建一个目录和一个Dockerfile
         #mkdir centos
         #cd centos
         #touch Dockerfile
    2.编辑Vi Dockerfile
    #This is a commend
    From centos:6
    MAINTAINER Docker Newbee <newbee@docker.com>
    RUN yum install yum-fastestmirror
    #用来注释
    From指令告诉Docker使用哪个镜像作为基础,接着是维护者的信息
    RUN开通的指令会在创建中运行,比如安装一个软件包,这里使用yum来安装一些软件
    3.创建镜像 docker build
    docker build -t="centos/6:v2" .
    -t标记来添加tag 指定新的镜像的用户信息 “.”是Dockerfile所在的路径(当前目录)
    4.利用docker tag修改镜像的标签
    docker tag  ebd184bd507e centos/6:laster
    5.利用 ADD 命令复制本地文件到镜像;用 EXPOSE 命令来向外部开放端口;用 CMD 命令来描述容器启动后运行的程序等。例如
        # put my local web site in myApp folder to /var/www
    ADD myApp /var/www
       # expose httpd port

    EXPOSE 80 # the command to run
        CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"]

    4.从本地文件系统导入

    要从本地文件系统导入一个镜像,可以使用 openvz(容器虚拟化的先锋技术)的模板来创建:openvz 的模板下载地址为 templates

    比如,先下载了一个 ubuntu-14.04 的镜像,之后使用以下命令导入:

     cat ubuntu-14.04-x86_64-minimal.tar.gz  |docker import - ubuntu:14.04

    上传镜像

    用户可以通过 docker push 命令,把自己创建的镜像上传到仓库中来共享。例如,用户在 Docker Hub 上完成注册后,可以推送自己的镜像到仓库中。

    $ sudo docker push ouruser/sinatra
    The push refers to a repository [ouruser/sinatra] (len: 1)
    Sending image list
    Pushing repository ouruser/sinatra (3 tags)

    5.导出和导入镜像

    如果要导出镜像到本地文件,可以使用 docker save 命令。

    $ docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    ubuntu              14.04               c4ff7513909d        5 weeks ago         225.4 MB
    ...
    $ docker save -o ubuntu_14.04.tar ubuntu:14.04

    可以使用 docker load 从导出的本地文件中再导入到本地镜像库,例如

    $ sudo docker load --input ubuntu_14.04.tar
    

    $ sudo docker load < ubuntu_14.04.tar
    

    这将导入镜像以及其相关的元数据信息(包括标签等)。

    6.移除本地镜像

    如果要移除本地的镜像,可以使用 docker rmi 命令。注意 docker rm 命令是移除容器。

    $ sudo docker rmi training/sinatra
    
    *注意:在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器。
     

  • 相关阅读:
    第一个mpvue小程序开发总结
    ES6学习笔记(一)——扩展运算符和解构赋值
    我所理解的发布订阅模式
    移动web开发适配方案之Rem
    探究JS中对象的深拷贝和浅拷贝
    《BAT前端进阶[师徒班]》学习总结
    浅析使用vue-router实现前端路由的两种方式
    webpack之proxyTable设置跨域
    《免费前端教程不会告诉你这些》知乎LIVE读后感
    MySQL binlog-server搭建
  • 原文地址:https://www.cnblogs.com/xubc/p/4665474.html
Copyright © 2011-2022 走看看