zoukankan      html  css  js  c++  java
  • Docker基本使用命令

    Ubuntu安装docker:

    1.安装 `sudo wget -qO- https://get.docker.com | sh` 
    2.普通用户权限 `sudo usermod -aG docker username` 
    3.如果普通用户执行docker命令,如果提示get …… dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限 `sudo chmod a+rw /var/run/docker.sock`
    

    基本命令

    docker info 查看运行状态
    docker pull 获取image 
    docker build 创建image 
    docker images 列出image 
    docker ps 列出container 
    docker run 运行container 
    docker rm 删除container 
    docker rmi 删除image 
    docker cp 在host和container之间拷贝文件,eg:docker cp index.html a7f7e461d715://usr/share/nginx/html
    docker commit 保存改动为新的imgae,eg:docker commit -m 'fun' a7f7e461d715
    docker tag e9330a790558 nginx-fun:latest 修改image名称
    运行 `docker run -d -p 8080:80 nginx`
    停止 `docker stop a7f7e461d715`
    

    Dockerfile

    FROM 基础镜像 
    RUN 执行命令
    ADD 添加文件
    COPY 拷贝文件
    CMD 执行命令
    EXPOSE 暴露端口
    WORKDIR 指定路径
    MAINTAINER 维护者
    ENV 设定环境变量
    ENTRYPOINT 容器入口
    USER 指定用户
    VOLUME 挂载点
    

    volumes

    1.docker inspect nginx 查看容器信息,在Mounts中可看到Sources
    2.docker run -d -p 8080:80 -v $PWD/html:/usr/share/nginx/html nginx 指定容器文件目录
    3.docker create -v $PWD/data:/var/mydata --name data_container ubuntu 创建data_container
    4.docker run -it --volumes-from data_container ubuntu /bin/bash 从data_container中加载数据
    

    registry

    host 宿主机
    image 镜像
    container 容器
    registry 仓库
    daemon 守护程序
    client 客户端
    
    docker search xxx
    docker pull xxx
    docker push myname/xxx
    

    docker-compose

    1.安装:sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    2.sudo chmod a+x /usr/local/bin/docker-compose
    
    build 本地创建镜像
    command 覆盖缺省命令
    depends_on 连接容器
    ports 暴露端口
    vulumes 卷
    image pull镜像
    up 启动服务
    stop 停止服务
    rm 删除服务中的各个容器
    logs 观察各个容器的日志
    ps 列出服务相关的容器
    

    常用操作

    • 拉取镜像
    // 下载官方nginx镜像源,等同于docker pull docker.io/nginx
    // 也等同于 docker pull docker.io/nginx:lastest
    docker pull nginx
    
    // 下载国内镜像源的ubuntu镜像,并指定版本为18.04
    docker pull registry.docker-cn.com/library/ubuntu:18.04
    
    • 推送镜像
    // 推送镜像到 docker hub, 需要先注册账户
    docker push <你的用户名>/<你打包时定义的镜像名>:<标签,版本号>
    
    // 推送到你的一个私有镜像仓库,需要提前搭建好仓库服务(比如用harbor来搭建)
    docker push <私有镜像库域名, 如a.b.com>/<项目名称>/镜像名:<标签>
    
    • 打包镜像
    // 提取准备好一个Dockerfile,在Dockerfile相同路径下执行
    docker build -t <指定一个完整的镜像名, 比如testsvr:v1.0> .
    // 即可打包出一个本地镜像, 然后再通过docker push就可以推送到远端镜像仓库
    
    • 启动容器
    docker run -d               // -d 表示通过daemon方式来启动
    -p 13306:3306               // 端口映射,将host主机的13306端口和docker容器的3306端口映射起来
    -v /etc/mysql:/var/mysql    // 目录挂载,将容器内的/var/mysql目录挂载到host主机到/etc/mysql目录,可以实现容器内这个目录下的数据持久化
    mysql                       // 镜像名,指定加载哪个镜像   
    
    • 重启或停止或删除容器应用
    docker ps                // 列出目前正在运行的容器列表
    docker ps -a             // 列出所有的容器列表
    docker start <容器id>     // 通过容器id来重启某个容器, 批量操作的话,直接在参数后面再跟对应容器id即可
    docker stop <容器id>      // 通过容器id来关闭某个容器, 批量操作的话,直接在参数后面再跟对应容器id即可
    docker rm <容器id>        // 通过容器id来删掉某个已经停止掉的容器
    docker rm -f <容器id>     // 通过容器id来删掉某个正在运行的容器
    
    • 删除本地镜像
    docker rmi  <镜像id>
    docker rmi -f <镜像id> // 强制删除
    
    • 查看容器日志
    docker logs -f <容器id>
    docker inspect <容器id> // 从返回结果中找到LogPath,运行的历史日志会在这个文件里找到
    
    • 进入容器内
    docker exec -it <容器id> /bin/bash        // 进入容器内并进入它的shell终端
    docker exec -it <容器id> <shell命令>       // 在容器内执行shell命令,比如
    docker exce -it <容器id> ls -l            // 查看容器内系统根目录下所有文件或文件夹
    ## 进入容器后,可以直接通过exit命令退出容器
    
    • docker对镜像自动重启的设置
    对镜像重启设置:docker restart imageid
    在运行docker容器时加上如下参数来保证每次docker服务重启后容器也自动重启:
    docker run ......  --restart=always
    如果已经启动了则可以使用如下命令:
    docker update --restart=always <CONTAINER ID>
    
  • 相关阅读:
    Curl Get请求&漏参数
    【Java基础】日期操作(返回当前日期&日期比较)
    【Java基础】生产者消费者模式
    [Groovy] 在Groovy中优雅的实现do while
    【转载】时间复杂度的度量
    [转载]Spring Cloud初探
    [Maven] 使用Maven管理多模块项目
    JS基础三
    JS基础部分(二)
    笔记不详细记录了,学完css之后做出下面分布的导航页
  • 原文地址:https://www.cnblogs.com/prince5460/p/11418139.html
Copyright © 2011-2022 走看看