我想做这个! 反向查找docker命令时
目录
- 1 我想获取 docker 镜像列表
- 2 我想获取 docker 容器的列表
- 3 使用名称启动 docker 容器
- 4 docker容器与主机之间共享文件
- 5 port 转发 docker 容器端口,这样也可以在主机端使用
- 6 连接docker容器
- 7 以分离模式启动 docker 容器
- 8 在前台启动一个docker容器并执行任意命令
- 9 在前台启动 docker 容器并附加到 docker 容器
- 10 在启动时设置docker容器内的环境变量
- 11 附加到正在运行的 docker 容器
- 12 我想在 docker 容器内运行 shell 命令
- 13 我想停止 docker 容器
- 14 我想删除docker容器
- 15 我想删除所有docker容器
- 16 我想删除docker镜像
- 17 我想了解docker容器的信息
- 18 如果想获取docker容器使用的IP地址(还包含了额外的信息,不过目的达到了)
你好。
我是Mandai,负责Wild 开发团队。
我经常忘记docker命令,所以我一气之下写下了这篇文章。
我永远不会忘记这一点。
我想获取 docker 镜像列表
docker 图片
我想获取 docker 容器的列表
# 仅当前正在运行的 docker 容器 docker ps # 所有包括已停止的 docker 容器 docker ps -a # 仅显示 docker 容器 ID docker ps -q
“docker ps -q”作为单个项目是没有用的,但在批量删除 docker 容器时很有用。
一开始可能很难想象 docker 镜像和 docker 容器之间的区别,但其关系类似于物理 CD 和 ISO 文件之间的关系(很难理解)。
使用名称启动 docker 容器
docker run --name [容器名称]
如果给 docker 容器命名,要启动同名的 docker 容器,必须使用“docker rm”命令删除该 docker 容器。
docker容器与主机之间共享文件
docker run -v [主机端的目录路径]:[docker 容器内的目录路径]
port 转发 docker 容器端口,这样也可以在主机端使用
docker run -p [主机端端口号]:[docker容器端口号]
连接docker容器
docker run -link [docker 容器名称或 ID][:[别名]]
如果您尚未命名 docker 容器,或者您的 docker 容器名称很长,则别名非常有用。
使用主机的机制很简单,如果比较主机文件,它将如下所示。
# 启动 MySQL 容器进行连接 $ docker run -d --name test -e MYSQL_ROOT_PASSWORD=root mysql:latest 529c5facaed9694dbcb36e9e3d3eae0350e26e182f70c72b06d2914dcf8c0222 # 通过指定链接目标的名称和别名来启动 docker 容器 $ docker run - it --link test: db php:latest cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6- allrouters 172.17.0.3 db 529c5facaed9 test 172.17.0.4 ffae57a81bc1 # 通过仅指定链接目标中的名称来启动 docker 容器 $ docker run -it --link test php:latest cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.3 测试 529c5facaed9 172.17.0.4 128c598dea8a
区别在于别名是否在主机中列出。
以分离模式启动 docker 容器
docker run -d [docker 镜像名称]
Detach模式是程序在后台运行而不进入容器的一种状态。
我完全以为这是恶魔的d。
在前台启动一个docker容器并执行任意命令
docker run [docker 镜像名称] [命令]
在前台启动 docker 容器并附加到 docker 容器
docker run -it [docker 镜像名称] [任何 shell,例如 /bin/bash]
-i 选项附加 STDIN(标准输入)。也就是说,来自控制台的输入会流入指定的docker容器中。
如果输入“docker run -i hogehoge /bin/bash”,可以运行控制台命令,但不会反映在屏幕上。
-t 选项将 TTY 分配给 docker 容器。如果没有这个,即使附加它,您也将无法在 docker 容器内看到控制台。
如果你输入“docker run -t hogehoge /bin/bash”,你可以在docker容器内看到提示符,但你输入的输入不会反映在屏幕上。
因此,为了在 docker 容器内工作,以上两个选项都是必需的。
在启动时设置docker容器内的环境变量
docker run -e [变量名=值]
您可以用它指定 mysql root 密码等。
docker run -e MYSQL_ROOT_PASSWORD=root
附加到正在运行的 docker 容器
docker Attach [docker 容器 ID]
要分离,请在 docker 容器内使用快捷键 CTRL + P、Q 返回主机。
我想在 docker 容器内运行 shell 命令
docker exec [docker容器ID] [要启动的shell,例如/bin/bash]
我想停止 docker 容器
docker stop [docker容器ID]
我想删除docker容器
docker rm [docker 容器 ID]
我想删除所有docker容器
docker rm $(docker ps -aq)
这是使用子 shell 获取 docker 容器的 ID 的方法。 docker ps 的 -q 选项最有用。
我想删除docker镜像
docker rmi [docker 镜像名称]
我想了解docker容器的信息
docker检查[docker容器ID]
如果想获取docker容器使用的IP地址(还包含了额外的信息,不过目的达到了)
docker检查[docker容器ID] | grep IP地址
就是这样。