Docker 镜像
在主机上列出镜像列表:
docker images
运行一个带标签镜像的容器:
docker run 镜像名称:标签名(如果不指定版本默认使用最近一个版本latesd)
docker run -t -i 镜像名称:标签名
-i 允许在容器内进行交互
-t 允许在容器内建立一个伪终端docker run -d -p 镜像名称:标签名
-d 标识是让 docker 容器在后台运行
-P 标识通知 Docker 将容器内部使用的网络端口映射到我们使用的主机上
获取一个新的镜像:
docker pull 镜像名
搜索镜像:
docker search 镜像名
更新镜像:
docker commit -m=”Added json gem” -a=”Kate Smith” \0b2616b0e5a8 ouruser/sinatra:v2
-m 更新信息
-a 作者
0b616… 来源(容器id)
ouruser/sinatra 新的名称(docker hub用户名/镜像名)
v2 标签
使用Dockerfile文件创建镜像:
FROM ubuntu:14.04 镜像来源
MAINTAINER Kate Smith ksmith@example.com 谁在维护
RUN apt-get update && apt-get install -y ruby ruby-dev 执行命令
RUN gem install sinatra
注:此处只是列出部分Dockerfile指令 其他可参考官网Dockerfile详细说明
docker build -t docker hub用户名/镜像名:标签 Dockerfile文件路径(如果Dockerfile在当前路径下可以.代替)
设置标签:
docker tag 镜像ID 用户名称/镜像源名:标签
推送镜像到Docker Hub
docker push 用户名称/镜像源名
移除镜像
docker rmi 镜像名
Docker 容器
打开一个容器
docker run -d 镜像名 运行一个镜像即打开一个容器
停止容器
docker stop 容器id
开始容器
docker start 容器id
重启容器
docker restart 容器id
杀死一个工作
docker kill 容器id
删除一个容器
docker stop 容器id 删除前需要停止
docker rm 容器id
绑定服务到TCP端口
docker run -d -p 6666:6666 ubuntu:12.10 6666
列出所有容器
docker ps
停止所有容器
docker stop $(docker ps -a -q)
删除无标示镜像,即id为的镜像
docker rmi $(docker images | grep “^” | awk “{print $3}”)
删除所有镜像
docker rmi $(docker images -q)
查看网络端口快捷方式
docker port 容器id/名字 5000
docker port 可以查看指定 (ID或者名字的)容器的某个确定端口映射到宿主机的端口号
查看WEB应用程序日志
docker logs -f 指定 (ID或者名字的)容器
查看WEB应用程序容器的进程
docker top 容器id/名字
检查WEB应用程序
docker inspect 容器id/名字
查看Docker的底层信息,它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息docker inspect -f ‘{{ .NetworkSettings.IPAddress }}’ 容器id/名字
对信息进行过滤,返回容器的 IP 地址