zoukankan      html  css  js  c++  java
  • docker实践_02


    使用docker commit创建docker镜像并指定参数。-m指定新创建镜像的提交信息;--author列出该镜像的作者信息;接着指定想要提交的容器id。最后的zzhao/baseimage指定了镜像的用户名和仓库名(在仓库名之后还可以加 :标签)
    docker commit -m="A new custom image" --author="zzhao" a8802c1ac679 zzhao/baseimage
    docker inspect 可查看新创建镜像的详细信息。
    docker inspect zzhao/baseimage
    并不推荐使用docker commit构建镜像。推荐使用Dockerfile文件和docker build命令构建镜像。
    mkdir static_web
    cd static_web
    touch Dockerfile
    firstDockerFile文件内容如下
    # version: 0.0.1
    # MyFirstDockerFile
    #每条指令,如FROM必须大写,指定基础镜像为Ubuntu14.04
    FROM ubuntu:14.04
    #指定镜像作者,和email
    MAINTAINER zzhao "1061887674@qq.com"
    #RUN指定在镜像中运行的命令
    RUN apt-get update
    RUN apt-get install -y nginx
    RUN echo 'Hi, I am in your container' >/usr/share/nginx/html/index.html
    #告诉docker该容器内的应用程序将使用的指定端口号
    EXPOSE 80
    构建dockerfile
    docker build -t="zzhao/static_web" .
    构建略过缓存的的dockerfile
    docker build –no-cache -t=”zzhao/static_web”
    查看新构建的镜像
    docker images zzhao/static_web
    查看镜像构建的详细过程步骤
    docker history zzhao/static_web (或容器id)

    从新镜像启动容器
    docker run -d -p 80 --name static_web01 zzhao/static_web ginx -g "daemon off;"
    -d表示告诉docker以分离(detached)的方式在后台运行。
    nginx -g “daemon off;是在容器中运行的命令。表示以前台运行的方式启动nginx,作为web服务器。
    -p 用来控制docker在运行时应该公开哪些网络端口给外界(宿主机)。
    运行一个容器时,docker可以通过两种方法来在宿主机上分配端口
    1.docker可以在宿主机 上随机选择一个位于49153~65535的一个比较大的端口号来映射到容器中的80端口上。
    2.可以在docker宿主机中指定一个具体的端口号来映射到容器中的80端口上。
    这将在Docker宿主机上随机打开一个端口,这个端口会连接到容器中的80端口上。

    指定想要查看映射情况的容器id和容器的端口号,查看宿主机中映射的端口
    docker port 容器id 80
    或者 docker ps -l
    将容器内的80端口绑定到宿主机的一个随机端口上:
    docker run -d -p 127.0.0.1::80 --name static_web01 zzhao/static_web ginx -g "daemon off;"
    使用curl连接到容器(32768是宿主机的映射端口号)
    curl localhost:32768
    一次删除所有镜像
    docker rmi 'docker images -a -q'

    构建和存储docker镜像除了通过公共的Registry之外,如果镜像的信息或数据不想被公开,可以通过两种方式来解决,利用docker hub上的私有仓库(付费);在防火墙后面运行自己的Registry。
    从容器安装Registry
    docker run -d -p 5000:5000 --restart=always --name registry registry:2
    该命令将启动一个运行Registry应用的容器。并绑定到本地宿主机的5000端口。
    使用新的registry给该镜像打上标签
    docker tag zzhao/static_web localhost:5000/zzhao/static_web:latest
    将镜像推送到新的registry中
    docker push localhost:5000/zzhao/static_web

    从本地registry启动容器
    docker run -ti localhost:5000/zzhao/static_web /bin/bash

  • 相关阅读:
    在Ubuntu上设置gmail邮件通知
    A Course on Borel Sets theorem 1.3.1
    A Course on Borel Sets theorem 1.3.1
    平面上的点和直线上的点一样多
    Cantor定理(2)
    经典多普勒效应,相对论多普勒效应,以及质能方程
    平面上的点和直线上的点一样多
    在Ubuntu上设置gmail邮件通知
    Windows漏洞:MS08067远程代码执行漏洞复现及深度防御
    9个问题,带你掌握流程控制语句中的java原理
  • 原文地址:https://www.cnblogs.com/zzsaf/p/7641790.html
Copyright © 2011-2022 走看看