Docker常见用法整理

Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。

Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。

  • 进入docker查看当前内核版本

    uname -r
  • 镜像加速

    在/etc/docker/daemon.json中写入:

    {
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
  • 启动docker后台服务

    sudo service docker start
  • docker容器内运行应用程序

    runoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world"
    Hello world
    • docker:Docker 的二进制执行文件。
    • run: 与前面的 docker 组合来运行一个容器。
    • ubuntu: 15.10指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
    • /bin/echo "Hello world": 在启动的容器里执行的命令
  • 交互式的容器

    runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
    root@dc0050c79503:/
    • 通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力
    • t:在新容器内指定一个伪终端或终端。
    • i: 允许你对容器内的标准输入 (STDIN) 进行交互。
    • 进入容器使用cat /proc/version查看当前系统的版本信息。
  • 查看容器是否在运行

    docker ps
  • 启动容器

    docker start 容器名
  • 重启容器

    docker restart 容器名
  • 停止容器

    docker stop 容器名
  • 移除容器

    docker rm determined_swanson
  • 检查容器

    docker inspect determined_swanson
  • 杀死正在运行的容器

    runoob@runoob:~$ docker kill -s KILL mynginx
    mynginx
  • 查看docker环境信息

    sudo docker info #检查docker是否正确安装
  • 列出镜像列表

    docker images

    REPOSITORY TAG IMAGE ID CREATED SIZE

    ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB

  • 搜索镜像

    docker search httpd
  • 拉取镜像

    docker pull training/webapp
  • 更新镜像

    先使用镜像来创建一个容器。

    docker run -t -i ubuntu:15.10 /bin/bash
    root@e218edb10161:/# apt-get update #命令进行更新。

    提交更新镜像。

    runoob@runoob:~$ docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
    sha256:70bf1840fd7c0d2d8ef0a42a817eb29f854c1af8f7c59fc03ac7bdee9545aff8
    • -m:提交的描述信息
    • -a:指定镜像作者
    • e218edb10161:容器ID
    • runoob/ubuntu:v2:指定要创建的目标镜像名
  • 查看WEB应用程序日志

    docker logs -f 7a38a1ad55c6
  • 查看端口映射

docker port 7a38a1ad55c6
5000/tcp -> 0.0.0.0:5000
  • 运行镜像生成容器

    docker run -d -p 5000:5000 training/webapp python app.py
    • -d:让容器在后台运行。
    • -P :是容器内部端口随机映射到主机的端口。
    • -p : 是容器内部端口绑定到指定的主机端口。
  • 设置镜像标签

    runoob@runoob:~$ docker tag 860c279d2fec runoob/centos:dev
    • 镜像ID 860c279d2fec
    • 新的标签名(tag) runoob/centos:dev

最新文章

  1. 无法对 索引 'IndexName' 执行 删除,因为它不存在,或者您没有所需的权限。
  2. java实现面向对象和javaScript基于对象的区别&java垃圾回收机制和其他编程语言的比较
  3. C# char 和string之间转换
  4. Hook技术
  5. 25、继续echarts实现中国地图
  6. CodeForces 589A Email Aliases (匹配,水题)
  7. Android Dev
  8. vtk 导出结果图片
  9. starting Intent from ProcessRecord with revoked permission android.permission.CALL_PHONE 的错误
  10. 重写equals就必须重写hashCode的原理分析
  11. Laravel-admin 七牛云上传文件到七牛云出现卡顿失败情况
  12. 使用Open Live Write发布CSDN博客
  13. 小程序开发过程中常见问题[微信小程序、支付宝小程序]
  14. mysql用户管理与备份
  15. js中的forEach/map方法
  16. UDS(ISO14229-2006) 汉译(No.7 应用层协议)
  17. 拯救者Y720-gtx1050-window10-配置tensorflow-gpu环境
  18. 为NEO-GUI 添加插件系统
  19. ABP框架系列之十九:(Debugging-调试)
  20. springboot+cloud 学习(六)Docker

热门文章

  1. 避免使用 JS 特性 with(obj){}
  2. IBM中国
  3. NOIP2018初赛 解题报告
  4. 版本管理工具-SourceSafe
  5. AngularJs学习笔记-服务
  6. kernel
  7. MySQL 5.6常用参数配置及说明
  8. 更新MySQL数据库( java.sql.SQLException: No value specified for parameter 1) 异常 解决方法
  9. Git 内部原理之 Git 对象哈希
  10. 详解 JS 中 new 调用函数原理