本文主要是介绍Docker指令合集大礼包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
之前的文章介绍过如何使如何编写Dockerfile及如何使用docker-compose.yml来自动化生成和部署容器
今天主要来介绍一下docker中常用的指令,如下:
1. docker create/run
create是生成一个容器但是不运行,而run的话是生成之后同时运行它
docker create/run [OPTIONS] IMAGE [COMMAND] [ARG...]
这里OPTIONS有很多选择,如下:
-
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-
-d: 后台运行容器,并返回容器ID;
-
-i: 以交互模式运行容器,通常与 -t 同时使用;
-
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-
-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=[]: 开放一个端口或一组端口;
-
--volume , -v: 绑定一个卷
可以发现,这里的很多常见的参数OPTIONS和之前编写docker-compose时所定义的容器的属性类似,只是这里在一句命令里指出。
2. docker start/stop/restart/kill
顾名思义就是容器启动、暂停和重启 、杀死
docker start/stop/restart/kill CONTAINER
注意:这里的CONTAINER可以是容器名也可以是容器的ID。另外docker stop和docker kill都是容器中止,但是有所区别:docker stop 是“优雅退出”,会先发送SIGTERM信号,在一段时间之后(10s)再发送SIGKILL信号。Docker内部的应用程序可以接收SIGTERM信号,然后做一些“退出前工作”,比如保存状态、处理当前请求等。而docker kill,发送SIGKILL信号,应用程序直接退出。
3. docker rm
移除或删除容器
docker rm [OPTIONS] CONTAINER
这里OPTIONS说明:
-
-f :通过 SIGKILL 信号强制删除一个运行中的容器。
-
-l :移除容器间的网络连接,而非容器本身。
-
-v :删除与容器关联的卷。
有时候可能需要在移除容器时删除所关联的卷,需要用到 -v 这个标示。
4. docker exec
这个命令是表示进入到容器内部去执行命令
docker exec [OPTIONS] CONTAINER
这里OPTIONS说明:
-
-d :分离模式: 在后台运行
-
-i :即使没有附加也保持STDIN 打开
-
-t :分配一个伪终端
通常我们会使用带上 -it 即,docker exec -it + containe name/id
5. docker ps
查看容器,包括以下内容:
CONTAINER ID: 容器 ID。IMAGE: 使用的镜像。COMMAND: 启动容器时运行的命令。CREATED: 容器的创建时间。STATUS: 容器状态。其中容器状态状态有7种:
- created(已创建)
- restarting(重启中)
- running(运行中)
- removing(迁移中)
- paused(暂停)
- exited(停止)
- dead(死亡)
docker ps [OPTIONS]
注意: docker ps 会列出所有运行中的容器,如果加一个 -a 显示所有的容器,包括未运行的。
6. docker inspect
查看容器的元数据
docker inspect [OPTIONS] NAME|ID
我们一般使用这个命令会去查看,启动的容器的IP地址。即:
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' CONTAINER
7. docker logs
查看容器日志
docker logs [OPTIONS] CONTAINER
这里OPTIONS说明:
-
-f : 跟踪日志输出
-
--since :显示某个开始时间的所有日志
-
-t : 显示时间戳
-
--tail :仅列出最新N条容器日志
以上就是一些常见和常用的docker指令,如果之后有更多常用的还会继续补充。如果这篇总结对你有帮助,不妨给我点个赞,谢谢!
参考资料:
1. https://www.runoob.com/docker/docker-command-manual.html
2. https://blog.csdn.net/weixin_34414196/article/details/86428138
这篇关于Docker指令合集大礼包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!