Docker常用命令
1、常用命令一览表
命令 | 解释 |
---|---|
docker images | 列出本地所有镜像 |
docker search KEYWORDS | 在Docker Hub中搜索镜像 |
docker pull IMAGE | 下载Docker镜像 |
docker rmi [OPTIONS] IMAGEID | 删除Docker镜像。加参数-f表示强制删除。 |
docker run [OPTIONS] IMAGE | 启动Docker镜像 |
docker ps | 列表所有运行中的Docker容器。该命令参数比较多,-a:列表所有容器;-f:过滤;-q 只列表容器的id。 |
docker version | 查看Docker版本信息 |
docker info | 查看Docker系统信息,例如:CPU、内存、容器个数等等 |
docker kill IMAGEID | 杀死id对应容器 |
docker start / stop / restart IMAGEID | 启动、停止、重启指定容器 |
docker build [OPTIONS] PATH | 构建Docker镜像,-t 表示指定一个tag |
docker tag | 为镜像打标签 |
更多命令,请输入--help
参数查询;如果想看docker命令可输入docker --help
;如果想查询docker run
命令的用法,可输入docker run --help
。
2、docker run
参数 | 解释 |
---|---|
-d | 后台运行 |
-P | 随机端口映射 |
-p | 指定端口映射 格式: ip:hostPort:containerPort ip::containerPort hostPort:containerPort containerPort |
如:
docker run -d -p 1000:1000 makeronly/registry:1.0.0
使用Dockerfile构建Docker镜像
以makeronly-registry项目为例
1、使用Maven打包项目
mvn clean package
项目构建成jar包: makeronly-registry-1.0.0.jar
2、创建Dockerfile
- 在makeronly-registry-1.0.0.jar所在目录创建文件,命名为Dockerfile
# 基于哪个镜像
FROM java:8
# 将本地文件夹挂载到当前容器
VOLUME /tmp
# 拷贝文件到容器
ADD makeronly-registry-1.0.0.jar app.jar
RUN bash -c 'touch /app.jar'
# 开放10001端口
EXPOSE 10001
# 配置容器启动后执行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
- 构建docker镜像,执行
# 格式:docker build -t 标签名称:版本 Dockerfile的相对位置
docker build -t makeronly/registry:1.0.0 .
构建成功:Successfully built a7cc6f4de088
。
- 启动镜像
docker run -d -p 1000:1000 makeronly/registry:1.0.0
删除所有过期容器
通过命令docker ps -a 查看所有容器,发现很多STATUS为Exited,如果要一个一个删除会很麻烦,所有可以使用脚本
carbon.png创建脚本文件dockerRM.sh
echo "Remove the containers which status was exited"
for containerid in $(docker ps -q -f status=exited);
do
docker rm $containerid;
done
echo "All the exited containers were removed successfully"
网友评论