zoukankan      html  css  js  c++  java
  • Dockerfile中常用的指令

    Dockerfile中常用的指令

    FROM 基础镜像
    COPY 复制文件
    ADD 添加文件
    RUN 要执行的命令
    CMD 容器启动时要执行的命令
    EXPOSE 默认向外暴漏端口
    VOLUME 创建挂载点
    WORKDIR 工作目录
    USER 当前操作用户


    docker持久化存储
    数据卷:
    数据卷的增、删、改、查
    docker volume create 创建卷
    ls 查看所有卷
    inspect 查看详细信息
    prune 删除所有未被使用的卷
    rm 删除一个或者多个卷
    卷存放的目录: /var/lib/docker/volume/
    匿名卷: 在构建镜像时通过VOLUME指定挂载点,那么在基于镜像创建容器时,会自动创建一个匿名卷挂载至改挂载点!

    除了可以挂载数据卷之外,还可以指定改在宿主机的目录或者文件到容器中
    例如:
    docker run --name web4 -d -p 84:80 -v /opt/html:/usr/share/nginx/html 10.30.5.120/docker/nginx
    docker run --name redis1 -d -p 6378:6379 -v /root/redis.conf:/etc/redis.conf redis:1.1

    1.基于正在运行的容器,进行更改 提交为新的镜像
    Centos Ubuntu
    Centos

    docker commit 容器 新镜像名:tag

    docker run --name centos --rm -it 10.30.5.120/docker/centos

    yum -y install httpd

    再开一个窗口将容器提交为镜像
    docker commit centos(容器名) httpd:1.1(新镜像名)

    基于新镜像创建一个容器
    docker run -d -p 80:80 httpd:1.1 httpd -DFOREGROUND


    2.通过编写Dockerfile构建httpd镜像

    编写Dockerfile
    vim Dockerfile
    FROM 10.30.5.120/docker/centos
    RUN yum -y install httpd && yum clean all
    CMD httpd -DFOREGROUND

    指令解释:
    FROM \基础镜像
    RUN \要在基础镜像中运行的命令
    CMD \默认在启动容器时要执行的命令


    读取Dockerfile开始构建
    docker build -t httpd:1.2 ./

    -t \给新的容器定义一个名字


    nginx -g 'daemon off;'

    虚拟机:
    通过虚拟化技术我们可以在服务上运行多个不同环境的虚拟机,大大提高我们对服务器的利用率!
    虚拟机的硬件的弹性扩展也方便了我们后期虚拟机配置的提升
    统一的管理平台也会大大降低我们的维护成本

    容器:
    容器本身的意思是指可以存放东西的器皿,我们这里可以把容器想想成是一个盒子、箱子!里面存放的就是我们要运行的应用:如一个nginx、tomcat
    容器技术相对于虚拟机具有哪些特点?
    1.体积小
    2.启动速度快
    3.性能接近原生
    4.单节点支持的容器的数量多
    6.环境一致性
    docker的安装
    Centos7.6
    1.配置docker的yum源,可以使用阿里云的
    2.安装docker-ce
    yum -y install docker-ce
    3.关闭防火墙
    systemctl stop firewalld
    setenforce
    4.启动Docker
    systemctl start docker
    systemctl enable docker

    Docker三个基本概念
    1.镜像仓库(hub.docker.com 镜像仓库)
    2.镜像
    3.容器
    Docker常用命令:
    对镜像的操作:
    1.获取镜像
    增:
    docker pull 镜像名:TAG
    删:
    删除镜像,我们不能直接删除有容器依赖的镜像
    docker rmi 镜像名/ID
    docker rmi -f 镜像名/ID
    改:
    docker tag
    查:
    查看本地镜像
    docker images


    对容器的操作:
    增:
    1.创建并运行容器
    docker run --name 容器名字 -d -p 宿主机端口:容器端口 基础镜像
    例子: docker run --name web1 -d -p 80:80 nginx:latest
    删:
    删除容器,我们不能直接删除一个正在运行的容器,需要先停止再删除,或者-f,强制删除
    docker rm web1
    docker rm -f web1
    改:
    容器重命名
    docker rename
    容器启动和停止
    docker start/stop/restart 容器名
    docker pause 容器名 \暂停容器
    docker unpause 容器名 \取消暂停容器
    docker update \更新容器的配置
    docker cp \容器和宿主机之间复制文件,默认覆盖已有的文件
    查:
    查看正在运行的容器
    docker ps
    查看所有的容器
    docker ps -a
    docker stats 容器名 \查看容器运行状态
    docker top 容器名 \查看容器正在运行的进程



  • 相关阅读:
    Spring Boot 内嵌Tomcat的端口号的修改
    仅显示INPUT下边框
    2015面试记三
    2015面试记二
    2015面试记一
    最近工作学习心得体会
    Tomcat批处理文件小结
    启动Tomcat一闪而过——分析及解决过程
    WIN7安装及配置JDK
    Firefox下载文件时中文名乱码问题
  • 原文地址:https://www.cnblogs.com/security-guard/p/12088361.html
Copyright © 2011-2022 走看看