前段时间一直在耍docker,为了防止遗忘还是记录一下这些基本命令吧。
查找镜像:
下载镜像:
上传镜像:
上传镜像前需要先登录仓库,我这里用的是默认仓库–dockerhub,然后需要打个tag
查看本地镜像:
启动docker:
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
虽然这么多参数,但是我基本上只有-it
来启动交互式bash
,用-p hostport:dockerport
来开启端口映射,--name
来指定容器名称,-v hostpath:dockerpath
来挂载目录
image的话,会先搜索本地的image有没有,如果没有的话,再去仓库找。
查看正在运行的docker:
后面的话暂时只用过-a
来列出所有docker(包括停止了的docker),-l
来查看最新创建的docker,-q
只列出docker的id
退出docker:
安全退出docker,docker仍然在后台运行而不是关闭
重新进入docker:
值得一提的是,在docker命令中不一定要把id全部都打出来,只要打出能识别唯一的docker的部分就好了,比如9d,电脑就能找到这个docker就ok了。
docker重新变成image:
先接docker,再接生成的image的名字
docker停止:
值得一提的是,不管之后删image还是删docker,都需要先停止全部相关的docker才能删除成功。
docker删除:
可以看到连ps -a都看不到这个9d的容器了。
这里有个骚操作,如果要想批量启动停止或者删除docker,可以用以下的命令,不过有一点,删除一定要记得先停止。
镜像删除
就先这些吧,以后碰到需要记得再记吧。