Docker常用命令
查找镜像
docker search [字符串]
例如查找php镜像, 可以使用docker search php
拉取镜像
docker pull [镜像名]:[镜像tag]
例如拉取doctorq/infer:v1.1这个镜像,docker pull doctorq/infer:v1.1
查看已经拉取到本地的镜像
dock images
运行一个镜像(使用一个container装载一个image)
docker run [参数] [镜像id/镜像名] [初始命令]
常用的参数有:
- -d 代表以后台进程的方式运行
- -i 代表交互方式
- -p 代表container的端口会映射到宿主机器
- -t 代表tty
- -e 镜像接受的参数
查看运行状态
docker ps
停止运行
docker kill [容器id]
删除容器(container)
docker rm [容器 id]
push一个镜像
Docker仓库通过命名来区分不同用户push的镜像。所以我们需要改名
docker tag [镜像id/镜像名] [仓库名]/[用户名]/[新镜像名]:[镜像tag]
可以通过docker images查看自己的镜像是否制作成功,然后push
docker push [仓库名]/[用户名]/[新镜像名]:[镜像tag]
docker会根据你的命名选择正确的repo去push。
本地删除某个镜像
docker rmi [镜像id]
如果出现
Error response from daemon: conflict: unable to delete xxxxx (must be forced) - image is being used by stopped container xxxxxx
则需要先停止容器。
举个例子
在前台运行一个镜像, 加载成功后运行/bin/bash:
docker run -t -i -p d9f531802b2e /bin/bash
运行后, 我们可以通过docker 的ps命令查看运行状态:
~ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES931e4697b9f6 milo/shop "/bin/bash" 6 seconds ago Up 5 seconds 0.0.0.0:32771->22/tcp, 0.0.0.0:32770->80/tcp grave_mestorf
注意, 0.0.0.0:32770->80 表示将宿主机(本机)的32770端口映射到 container的80端口.
可以通过如下命令取得container的详细
docker inspect
通过如下的地址就可以访问到container上的服务器:
http://192.168.59.103:32770/