• 【Docker】常用命令


    背景

    当下,docker技术已成为开发者常用的技术栈。不管是开发过程中需要应对的各种复杂多变的开发环境的搭建,还是生产部署环节需要的自动化运维,都离不开docker,本文简单介绍相关命令的含义,用作平时查询使用。

    1. docker命令示意图

    在这里插入图片描述

    2. docker【pull | images | run | ps | exec | commit | rm】

    1. docker pull nginx //拉取最新版本nginx
    • docker pull nginx:latest //拉取最新版本nginx
    • docker pull nginx:1.13 //拉取nginx1.13版本
    1. docker images //列出本机所有镜像
    2. docker run -d -p 8080:80 nginx //启动一个镜像为nginx的容器 将容器nginx80端口映射到本地8080端口
      -d 指nginx以守护进程来运行,-p 指定端口映射,nginx 指定镜像名
    3. docker ps //列出所有正在运行的容器
    4. docker run -d -p 8081:80 nginx //启动一个镜像为nginx的容器 将容器nginx80端口映射到本地8081端口
    5. docker exec -it 容器ID bash //进入容器并修改相应的文件
       cd /usr/share/nginx/html/
       vim index.html
       exit
    
    • 1
    • 2
    • 3
    1. docker commit 容器ID m1 //将 容器ID 保存为m1名称镜像;
    2. docker images // 列出所有镜像
    3. docker rm -f 容器ID //强制删除容器;
    4. docker run -d -p 8082:80 m1 //启动一个镜像为m1的容器 将本机90端口映射到容器80端口

    3. Dockerfile的使用 【build】

    1. cd ~ && vim Dockerfile
      From nginx #基于nginx镜像
      ADD ./ /usr/share/nginx/html/ #把当前目录文件拷贝到容器指定目录
    2. 在当前目录~创建一个文件index.html 文件内容waibudewenjian
    3. docker build -t m2 . // 在当前目录寻找Dockerfile并构建为镜像m2
    docker build -t bjc/demo:latest --rm .
    解析:
    -t bjc/demo:latest,为构建的镜像标记名称,即镜像名为:bjc/demo,打标为latest;
    --rm,整个构建过程成功后删除中间环节的容器;
    .,单独的点,意思为根据当前目录下的Dockerfile文件生成镜像
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. docker run -d -p 8083:80 m2
    2. docker ps

    4. docker tar文件 【rm | rmi | save | load】

    1. docker images
    2. docker save m2 > 1.tar
    3. docker rm -f 容器ID;//删除容器
    4. docker rmi m2; //删除镜像
    5. docker images
    6. docker load < 1.tar
    7. docker images

    5. docker 升级用法 【inspect】

    1. docker run -d -p 8084:80 --name mynginx -v pwd:/usr/share/nginx/html nginx:1.13
    映射本地目录到容器目录
    --name mynginx 容器运行起来的名称
    `pwd`:/usr/share/nginx/html 将当前目录映射到容器指定目录
    /home/wangyao/html:/usr/share/nginx/html
    nginx:1.13 会拉取nginx1.13版本镜像
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. docker inspect 9342 | grep Mounts -A 20 //查看nginx容器的挂在目录

    6. docker 容器其他常用命令

    docker stats #查看docker状态 CPU MEM
    docker ps #查看当前正在运行的容器
    docker ps -a #查看所有运行过的容器
    docker restart containerID #重启容器
    docker start containerID #启动容器
    docker stop containerID #停止容器

    进入一个启动的容器:

    • docker attach 容器ID 刚方法进入之后,exit退出就会导致容器stop
    • docker exec -it containerID /bin/bash 这个命令exit退出,ok容器还在运行

    复制文件到容器:

    • docker cp hello.html daa0cd150cce://usr/share/nginx/html #在host和container之间拷贝文件

    一些启动参数:

    • 后台运行容器:-d
    • 容器内外端口映射:-p 内部端口号:外部端口号
    • 目录映射:-v 'dir name' :
    • 指定映像版本::

    重启容器:

    • 在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启:
    • docker run --restart=always
    • 如果已经启动了则可以使用如下命令:
    • docker update --restart=always

    参考

    以上。

  • 相关阅读:
    树莓派 开机启动
    C#和Python使用C++编译的dll
    UE5笔记【十一】蓝图变量BluePrint Variables
    深入探索地理空间查询:如何优雅地在MySQL、PostgreSQL及Redis中实现精准的地理数据存储与检索技巧
    程序猿成长之路之密码学篇-RSA非对称分组加密算法介绍
    Kotlin中的函数分类(顶层、成员、局部、递归等)
    常用的生命钩子(VUe2方法)
    k8s报错的解决办法: kubelet的日志出现 Error getting node的报错。
    URLSearchParams快速解析URL查询参数
    流程图规范
  • 原文地址:https://blog.csdn.net/Kevin_Gates/article/details/128048160