查看容器
命令:docker ps [options]
options有:
-a:查看所有容器,包含不在运行中的(不带-a参数,是只显示运行中的容器)
-q:只显示容器ID
-s:多加一列来显示总文件大小
-l:显示最近创建的容器(docker ps -l)
-n:显示最近创建的n个容器(docker ps -n 3, 显示最近创建的3个容器)
--filter:根据条件过滤(不常用,容器数量没大到那种程度需要用过滤器才能找到。)
启动容器
方式一:从一个镜像中创建一个容器的同时并启动
docker run [options] 镜像名或镜像ID [command] [agrs]
options常有:
-d:让docker在后台运行而不是直接把执行命令的结果输出在当前宿主机器下。
-t:让docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上(配合-i使用)
-i:让容器的标准输入保持打开(配合-t使用)
--name:为容器命名
--restart:是否跟随宿主机开机启动(默认为“no”,可以有“always”)
--privilleged:是否让容器拥有root权限(可接 false 或者 true)
-v:创建数据卷
-p:绑定端口,将本机端口映射到容器端口,-p 本机端口:容器端口,因为容器内监听的端口,本机并不知道,所以从外界来访问本机的那个端口是访问不到的,所以要做映射
方式二:启动一个已经存在的容器
命令:docker start 容器ID或容器名
停止容器
命令:docker stop [options] 容器名或者容器ID
options有:
-t:杀死容器进程前,给予容器用来停止的时间(默认是10秒)
重启容器
命令:docker restart [options] 容器名或容器ID
options有:
-t:杀死容器进程前,给予容器用来停止的时间(默认是10秒)
即使容器是关闭状态,也可以重启,这点不像supervisor,supervisor的进程是关闭状态的话,则无法restart,只能start
删除容器
命令:docker rm [options] 容器名或容器ID
options有:
-f:强制删除容器(默认情况下,只有是停止状态的容器才可以删除,但是带上-f后,可以直接删除在运行中的容器)
-l:移除容器间的网络链接,而非容器本身(不懂,好像也用的少)
-v:删除与容器关联的卷(这个还是可以有的)
批量删除容器
命令:docker rm -f $(docker ps -a -q)
不是什么新的知识点
在容器外执行容器里的命令
命令:docker exec [options] 容器名或容器ID [command]
一般是:docker exec -it 容器名或容器ID /bin/bash ,用于进入容器,是否真的能在外面做到其他的操作,暂未可知,我是验证了:docker exec 容器名 echo "hello world">test.txt ,未成功
查看容器日志信息
命令:docker logs 容器名或容器ID
主机和容器之间的内容拷贝(不建议,容器只做运算,最好不要往里面拷文件,可以做成数据卷映射)
主机拷贝到容器
命令:docker cp 主机文件 容器ID或容器名:容器目录
有点类似本机与远程服务器之间的内容拷贝:scp 本机文件 远程服务器:目录
容器拷贝到主机
命令:docker cp 容器ID或容器名:目录/文件 本机目录