zoukankan      html  css  js  c++  java
  • docker初学笔记

    什么是docker

    不准确的说,docker是一种轻量级的虚拟机,它把可执行文件和运行环境打包成一个image,放在容器里运行,但是启动速度比虚拟机快很多,资源消耗小。这种技术主要是为了解决部署环境的问题。

    从远程仓库获取image

    docker pull <image:[tag]>

    同一个名字的image可以加tag,用于区分版本。如果不加tag,默认是latest

    container操作

    创建container

    docker run [options] <image> <cmd>
    • -d daemon模式,后台运行
    • --name 设置名字。最好设置一个,要不然在stop、rm的时候要通过id访问,麻烦
    • --net networking模式,见后。
    • --rm 在container退出后即删除。否则container还会以“exited”的状态存在

    container的名字不能重复。

    停止、启动(只是暂时停止,不会删除,可以继续运行)

    docker stop|start <container_id|container_name>

    删除

    docker rm [-f] <container_id|container_name>

    如果创建container时设置了名字,可以通过名字访问,并且支持tab补全。

    显示进程

    docker的container在退出后并不会自动删除,而是以停止的方式仍然存在。

    docker ps [options]
    • -a 显示所有的container。否则默认只显示正在运行的container
    • -q 只显示id。否则默认显示id、名字、对应的image、启动时间等信息

    清除

    docker没有clean之类的命令,只能自行删除 删除所有container

    docker rm -f $(docker ps -aq)

    删除所有image

    docker rmi $(docker images -q)

    networking模式

    docker支持host和container间多种networking模式,一种是默认的模式,用ifconfig可以看到多了一个网络接口,container开放的端口是不能通过host的ip进行访问的。另一种是host模式(使用参数--net=host),这个模式中,container直接使用host的network stack,端口直接通过host对外暴露。

  • 相关阅读:
    read、write 与recv、send区别 gethostname
    网络粘包问题解决办法
    C++中 =default 和 =delete 使用
    c++ unordered_map 自定义key
    c++ list的坑
    c++ vector 的坑
    对于RBAC与shiro的一些思考
    求两个数的最大公约数&求N个数的最大公约数
    Nginx是什么?有什么用?
    如何做可靠的分布式锁,Redlock真的可行么
  • 原文地址:https://www.cnblogs.com/aquastone/p/docker_first_note.html
Copyright © 2011-2022 走看看