docker基本操作

前段时间一直在耍docker,为了防止遗忘还是记录一下这些基本命令吧。

查找镜像:

1
docker search web




下载镜像:

1
docker pull php



上传镜像:

1
docker push err0r/web


上传镜像前需要先登录仓库,我这里用的是默认仓库–dockerhub,然后需要打个tag


查看本地镜像:

1
docker images




启动docker:

1
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

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:

1
docker ps

后面的话暂时只用过-a来列出所有docker(包括停止了的docker),-l来查看最新创建的docker,-q只列出docker的id


退出docker:

1
ctrl+p+q || exit

安全退出docker,docker仍然在后台运行而不是关闭


重新进入docker:

1
docker exec -it 9d /bin/bash


值得一提的是,在docker命令中不一定要把id全部都打出来,只要打出能识别唯一的docker的部分就好了,比如9d,电脑就能找到这个docker就ok了。


docker重新变成image:

1
docker commit 9d test


先接docker,再接生成的image的名字


docker停止:

1
docker stop 9d


值得一提的是,不管之后删image还是删docker,都需要先停止全部相关的docker才能删除成功。


docker删除:

1
docker rm 9d


可以看到连ps -a都看不到这个9d的容器了。
这里有个骚操作,如果要想批量启动停止或者删除docker,可以用以下的命令,不过有一点,删除一定要记得先停止。

1
2
3
docker start $(docker ps -a -q)
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)



镜像删除

1
docker rmi test



就先这些吧,以后碰到需要记得再记吧。

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
,