• 浅谈Docker之Docker常用命令及Dockerfile基础命令(记录)


    一、Docker镜像相关命令

    查看本地镜像

    docker images  

    从远程仓库下载镜像

    docker pull mysql:5.7

    搜索mysql5.7镜像  

    docker search mysql:5.7  

    删除镜像

    docker rmi mysql:5.7  

    修改本地镜像名字 

    docker tag mysql:5.7 mysql:v1   

    查看镜像的构建历史 

    docker history mysql:5.7

    commit命令构建镜像   docker commit 容器ID  镜像名称:镜像tag

    docker commit 3e1267e mysql:v1

    build命令构建镜像    docker build -t 镜像名称:镜像tag  buildfile路径

    docker build -t mysql:v1 .

    二、Docker容器相关命令

    查看本地正在运行的镜像

    docker ps 

    查看所有镜像 

    docker ps -a 

    运行容器 

    docker run -itd --name=mysql_v1 mysql:5.7  

    -i:以交互模式运行容器

    -t:分配一个伪输入终端

    -d:后台运行(daemon的意思)

    --name: 指定一个名称,不然会随机分配串字符串

    -v:-v /apps:/apps  宿主机路径:容器路径。挂载文件夹到容器中 

    -p:-p 8080:8080 宿主端口:容器端口。端口映射处理

    ---privileged=true:启动特权模式(慎用)

    启动/重启/停止容器 

    docker start / restart / stop CONTAINER_ID / CONTAINER_NAME  

    停止所有容器

    docker stop $(docker ps -a -q)  

    -q:会返回容器的CONTAINER_ID

    删除容器

    docker rm CONTAINER_ID / CONTAINER_NAME

    强制删除容器  

    docker rm  -f  CONTAINER_ID / CONTAINER_NAME 

    查看容器的详细情况,如网络信息等

    docker inspect CONTAINER_ID / CONTAINER_NAME

    进入容器内部  

    docker exec -it CONTAINER_ID /bin/bash

    从宿主机复制文件到容器中 

    docker cp /apps/docker.txt mysql_v1:/apps/  

    从宿主机复制文件到容器中

    docker cp mysql_v1:/apps/docker_copy.txt  /apps  

    三、Dockerfile基础指令

    FROM:基于某个镜像

    MAINTAINER:注明作者

    WORKDIR:指定工作目录,如果不存在会创建

    COPY:复制文件到镜像中,源文件路径使用的是相对路径

    ADD:复制文件到镜像中,如果文件是压缩文件tar.gz还会解压

    ENV:指定环境变量,类似在linux中编辑/etc/profile的操作

    EXPOSE:指定暴露的接口

    RUN:构建镜像的时候执行指令,作用于镜像层

    ENTRYPOINT:容器启动时执行执行,作用于容器层,如果多条ENTRYPOINT指令,只会执行最后一条

    CMD:容器启动时执行执行,作用于容器层,如果多条ENTRYPOINT指令,只会执行最后一条

    另外对于RUN、ENTRYPOINT、CMD命令而言有两种命令格式

    • Shell格式:<instruction> <command>。例如:yum install wget
    • Exec格式:<instruction> ["executable", "param1", "param2", ...]。例如: ["yum", "install", "-y", "wget"]

    在这里推荐使用exec命令格式,特别是ENTRYPOINT最好使用exec格式。

    因为这样,CMD就体现另外一个功能,

    可以为ENTRYPOINT提供额外的默认参数,同时在docker run命令行中 docker run -it [image] params,

    使用params动态替换默认参数。

    本文作者:hjjay
    原文出处:https://www.cnblogs.com/jayhou/p/12319640.html
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

  • 相关阅读:
    Web实现大文件分片上传的方法
    kinova环境配置
    c++ stl list
    echarts饼图
    js函数
    飞浆测试日志
    IfcRevolvedAreaSolidTapered
    matlab一元二次方程求根
    运行日志
    常用的sql
  • 原文地址:https://www.cnblogs.com/jayhou/p/12319640.html
Copyright © 2020-2023  润新知