Docker镜像

镜像:

用来创建容器
Rigistry 镜像仓库,也叫DockerHub.

获取镜像:

获取镜像列表
sudo docker images

拉取镜像
    ubuntu
    sudo docker pull ubuntu
    
    拉取fedora 指定版本
    sudo docker pull fedora:latest

在dockerhub查找镜像
sudo docker search puppet

构建制作镜像.
docker自带 docker commit
dockerfile (推荐)封装好的docker build Dockerfile

为了能正常发布和共享镜像,需要上传到docker hub,需要注册docker hub账号

测试账号是否可用.有返回信息
sudo docker login

使用commit创建镜像

    创建新容器
    sudo docker run -i -t ubuntu /bin/bash
    
    在容器中安装Apache
    apt-get -yqq update
    apt-get -y install apache2

    安装完,退出
    exit
    
    查看刚刚创建的容器的ID
    sudo docker ps -l -q
    
    使用commit提交该容器  仓库/镜像名
    sudo docker commit 812c25b695ae dfy_image/dfy_image01
    
        带参数提交方式:
        sudo docker commit -m="A new image" --author="dfy" 812c25b695ae dfy_image/dfy_image01:webserver
            -m 新镜像的提交信息
            --author 作者信息
            :webserver 标签
        
    查看提交的镜像
    sudo docker images dfy_image/dfy_image01
    
    查看镜像的详细信息
    sudo docker inspect dfy_image/dfy_image01
    
    使用提交的镜像运行一个容器
    sudo docker run -i -t dfy_image/dfy_image01 /bin/bash

Dockerfile(推荐):
使用命令: Dockerfile + docker build

目标: 创建一个简单web服务器的Docker镜像

    初始化Dockerfile
        
        创建文件夹,以此作为构建环境
        mkdir dfy_web
        cd dfy_web
        
        创建空的Dockerfile
        touch Dockerfile

指令:

    指令字母全大写
    指令按照顺序从上到下执行
    每条指令会创建一个新的镜像并提交.
    
    基于ubuntu创建
    FROM ubuntu
    
    设置镜像作者信息和邮件地址
    MAINTAINWER dfy "[email protected]"
    
    更新apt
    RUN apt-get update
    
    安装nginx包
    RUN apt-get install -y nginx
    
    创建index.html文件
    RUN echo 'Hi,i am your container' /user/share/nginx/html/index.html/index
    
        默认RUN在shell执行,如果不希望在shell中,可以用以下数组格式
        RUN ["spt-get", "install", "-y","nginx"]
    
    设置应用程序会使用容器的80端口    
    EXPOSE 80   
    
    # Version: 0.0.1
    FROM ubuntu
    MAINTAINWER dfy "[email protected]"
    RUN apt-get update
    RUN apt-get install -y nginx
    RUN echo 'Hi,i am your container' /user/share/nginx/html/index.html/index
    EXPOSE 80   

在创建镜像的时候遇到问题
FROM 命令不存在.
就是说不能利用Dockerfile创建镜像.  
所以下面只记录原理和实现原理描述.

查看已经创建好的镜像
docker images

查看某个镜像的信息
sudo docker images dfy_test01

镜像构建历史
sudo docker history dfy_test01

通过构建好的镜像运行容器时,可以控制公开那些网络端口给宿主机(在那台电脑上运行的docker),
提供这些端口给外部访问.
可以选择49153 - 65535 之间的端口号来映射到容器中的80端口

通过任务管理器查看端口
docker ps -l

查看端口映射
sudo docker port 容器ID 80

容器的端口可以映射到宿主机的指定端口 如 80>80 80>8080

容器端口可以绑定到宿主机Ip上 80 > 127.0.0.1

查看宿主机ip地址
ifconfig
ip addr

访问容器中的web内容
curl localhost:49154

VOLUME 容器添加卷
    定位:一个特定的目录
    特点:
        存在于一个或者多个容器
        在容器间共享和重用
        可以不共享
        对卷的修改是立即生效的
        一直存在的
    总结: 存数据,数据库,日志,代码
    
删除daockerfile创建的镜像: 
sudo docker rmi dfy_test01  

你可能感兴趣的:(Docker镜像)