search.png
关于我
menu.png
docker 基础命令总结
  1. docker pull ubuntu

    安装(默认最新)版本ubuntu

  2. docker pull ubuntu: 14.04

    下载指定版本的ubuntu

  3. docker pull docker-repo/ubuntu

    从指定镜像仓库下载镜像

  4. docker run ubuntu /bin/bash

    运行ubuntu镜像的bash,等价于先docker create再docker start,输入exit退出

  5. doucker images

    列出下载的所有镜像

  6. docker inspect 723

    列出镜像详细信息,723为Image Id前缀

  7. docker inspect -f {{".Architecture"}} 723

    列出详细信息中的某一项,语法好像是go的模板语法

  8. docker search ubuntu

    搜索镜像(从docker hub)
    --filter=is-automated=false 仅显示自动创建的镜像
    --no-trunc=falsee 输出信息不截断显示
    --filter=stars=200指定仅显示对应星级及以上的镜像

  9. docker rmi mysql

    删除指定的镜像,当有镜像创建的容器被运行时,是无法删除的(-f可以强制删除)

  10. docker ps -a

    列出所有存在过的容器,包括已经退出的

  11. docker rm f08

    删除对应Id的容器,-f 强行删除,-l 删除容器的连接,-v删除容器挂载的数据卷

  12. docker commit -a "hengyumo" -m "test commit" -p ad15 test

    提交一个新的容器,-a指定作者,-m指定提交信息,-p提交时暂停容器执行,末尾参数分别是容器Id和容器名

  13. docker save -o ubuntu.tar ubuntu

    存出镜像到本地文件

  14. docker load -i ubuntu.tar

    从本地文件导入

  15. docker tag test:latest user/test:latest

    给镜像复制一份标签

  16. docker login

    登录docker hub

  17. docker push user/test:latest

    上传镜像,需要在之前进行登录,并创建好仓库,参考链接

  18. docker create -it ubuntu

    新建容器,-t 为容器分配伪终端,并绑定到容器的标准输入,-i 让容器的标准输入保持打开

  19. docker start 6c2

    启动容器,可以启动已经终止的容器

  20. docker run -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done"

    将容器以守护进程(daemon)的方式运行

  21. docker logs 7b

    打印容器输出信息

  22. docker stop -t 5 7b

    终止容器,-t指定等待时间,它会首先发送SIGTERM信号,一段时间后(默认10s)再发生SIGKILL信号终止容器

  23. docker kill 7b

    该命令会直接发送SIGKILL信号强行终止容器

  24. docker ps -a -q

    查看所有处于终止状态的容器ID信息

  25. docker restart 7b

    重启一个运行中的容器

  26. docker attach 250

    进入一个启动的容器

  27. docker exec -ti 250 /bin/bash -c "echo hello world"

    直接在已启动的容器内运行命令

  28. docker export 7b >helloworld.tar

    将容器导出

  29. docker import helloworld.tar ubuntu/helloworld:v0.1

    导入容器快照

  30. docker run -d -p 5000:5000 -v /docker-registry:/tmp/registry registry

    搭建本地仓库

  31. docker run -d -P --name web -v webapp training/webapp python app.py

    -v为容器指定数据卷:webapp目录,--name 指定容器名称,-P为容器映射相应的端口(随机)

  32. docker run -d -P --name web3 -v C:\Users\le\Desktop\webapp:/home/root/webapp:ro training/webapp python app.py

    相比31.,将本机的webapp目录映射到了/home/root/webapp,并设置读取权限为仅读(默认是rw)

  33. docker run -ti -v C:\Users\le\Desktop\dbdata:/dbdata --name dbdata ubuntu

    建立数据共享容器
    docker run -tid --volumes-from dbdata --name db1 ubuntu
    建立容器db1,挂载dbdata的数据卷
    docker run -tid --volumes-from dbdata --name db2 ubuntu
    建立容器db2,挂载dbdata的数据卷,它和db1共享dbdata的数据卷

    docker exec -ti db1 /bin/bash
    #touch /dbdata/hellodb.txt
    #echo "hello db" > /dbdata/hellodb.txt
    #exit
    

    给dbdata添加新文件
    docker exec -ti db2 cat /dbdata/hellodb.txt
    输出db2中数据卷的文件信息,结果打印出hello db,数据卷共享成功

  34. docker rm -v web4

    删除容器,并删除容器对应的数据卷

  35. docker run -d -p 5555:5000 training/webapp python app.py

    将本机5555端口绑定到容器的5000端口

  36. docker run -d -p 127.0.0.1:5555:5000 training/webapp python app.py

    指定绑定localhost

  37. docker port d6a

    打印容器绑定的端口

  38. docker run -d -P --name web --link db2:db2 training/webapp python app.py

    建立容器间的链接

  39. docker exec web env

    打印容器环境变量

  40. docker exec web /bin/bash -c "cat /etc/hosts"

    打印容器host文件

  41. docker exec web /bin/bash -c "ping db2"

    ping 容器db2(前提是已经链接db2)

版权声明

知识共享许可协议 本文章由作者“衡于墨”创作,转载请注明出处,未经允许禁止用于商业用途

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
发布时间:2020年02月28日 12:48:51

评论区#

还没有评论哦,期待您的评论!

关闭特效