Docker的一些常用命令行
docker run image command: 这里的image和command自己输入。这个命令用于运行指定的镜像并创建一个容器,执行输入的指令,然后输出一个结果显示到terminal上
如上图,busybox就是我这边运行的镜像的名字,后面跟的echo hi there是我输入的命令。这样我们就相当于创建了一个容易里面包含着busybox的镜像,然后执行了echo hi there的命令,因此我们得到了hi there作为输出
这里面穿插两个命令叫做
docker ps --all:这个命令指的是查看所有创建过的容器
docker ps:这个则是查看正在运行的容器
docker start -a id:这里的id指的是容器的id,这个命令可以使停止的容器重新启动,并执行
两个注意点:
- 这边的"-a"加了之后才能输出当时的default command(也就是默认的命令)
- 不能在重启的容器id后面加新的命令
docker logs id:这个命令可以查看指定容易里面发生了啥,可以说是查看日志。常用于debug
docker system prune:这个命令如下图,是用来删除所有停止的容器还有所有的镜像,好比从docker hub里下到本地的一些镜像,删除后就需要重新从docker hub里面pull,但这并不会耗太多时间
docker stop id,docker kill id
这两个命令用于停止指定的容器。不同的地方在于,kill是指立马停止,stop会相对来说没有那么大的强制性,会给容器10s的缓冲时间,如果10s后还没结束,docker会自动kill掉指定容器
如上图,通过查询正在运行的容器来检查是否已成功停止
docker exec -it id command:这个命令使得我们能够在指定的运行的容器里面执行新的命令,运行新的项目
如上图,首先在我输入了docker run redis,创建了一个容器并运行了,图中也查看到了。然后我输入上面的命令,添加了正在运行的容器的id,后面跟了新的命令(redis-cli),按完回车后并没有报错,而是执行我输入的新的命令。
注意:斜体样式:这里的Tag “-it”很重要。
“-it"其实是可以分为-i -t,这里面-i是为了能够给运行的项目输入input,而**-t**是为了使索要input的界面(format)更好看,也就是这边下滑横线的,127.0.0.1:6379>
docker exec -it id sh:这个命令不同于上面一个是在于这边把要执行的新的命令改成了sh,在这边sh的作用在于,terminal执行后在你需要输入新指令的时候不用再重新输入docker exec -it id command,相反的,可以一直输入不同的新的命令,想结束按ctrl+c或者输入exit即可