前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 命令记录

Docker 命令记录

作者头像
郭顺发 软件开发
发布2023-07-17 18:04:35
1460
发布2023-07-17 18:04:35
举报
文章被收录于专栏:pandacode_cn

docker 命令

代码语言:javascript
复制
# 查看docker版本。
docker -v
docker version
# 查看docker系统信息
docker info
# 搜索镜像
docker search 镜像
# 获取镜像
docker pull 镜像仓库地址
# 上传镜像
docker push 镜像仓库地址
# 查看镜像的创建历史
docker history 镜像仓库地址
# 运行容器
# -name 定义一个容器的名字
# -d 标识是让 docker 容器的后台运行。
# -p 标识通知 docker 将容器内部使用的网络端口映射到我们使用的主机上。
docker run --name nginx -p 8080:80 nginx
# 查询容器内部ip地址
docker inspect 容器ID/容器名 | grep IPAddress
# 列出容器 -- 仅运行的容器
docker ps
# 列出容器 -- 包含停止的容器
docker ps -a
# 查看当前本地所有的镜像
docker images
# 停止容器
docker stop 容器ID/容器名
# 开始容器
docker start 容器ID/容器名
# 重启容器
docker restart 容器ID/容器名
# 杀掉一个运行中的容器
docker kill -s KILL 容器ID/容器名
# 删除容器
docker rm 容器ID/容器名
# 删除一个或多个容器
docker rm -f xx,xx2
# 删除镜像【顺序:停止镜像里的容器,再删除容器,最后再删除镜像】
docker rmi 镜像id/镜像名
# 列出所有的容器 ID
docker ps -aq
# 停止所有的容器
docker stop $(docker ps -aq)
# 删除所有的容器
docker rm $(docker ps -aq)
# 删除所有的镜像
docker rmi $(docker images -q)
# 停止并删除指定容器
docker ps -a | grep 容器ID/容器名 | awk '{print $1}' \ | xargs -i docker stop {} | xargs -i docker rm {}
# 删除镜像
docker images | grep -E '镜像id/镜像名' | awk '{print $3}' \ | uniq | xargs -I {} docker rmi --force {}
# ex: 删除镜像 `nginx:latest`
docker images | grep -E 'nginx' | grep 'latest' | awk '{print $3}' \ | uniq | xargs -I {} docker rmi --force {}
# 删除所有停止的容器
docker container prune
# 删除所有部使用的镜像
docker image prune --force --all
docker image prune --f --a
# 限制容器内存 -m
docker run --name nginx -d -p 8080:80 -m 100m nginx
# 查看容器运行内存信息
docker stats nginx
# 进入容器
docker exec -it 容器ID/容器名 /bin/bash
# 以交互模式启动一个容器,在容器内执行/bin/bash命令
docker run -i -t 容器ID/容器名 /bin/bash
# 查看容器日志 -t: 显示时间戳
docker logs -f -t 容器ID/容器名
docker logs -fn10 -t 容器ID/容器名
# 构建镜像
# 用法:docker build -t 镜像名称 .
docker build -t docker_demo .

2. docker 启动jar包

2.1. 编写dockerFile文件

代码语言:javascript
复制
# 引用哪个镜像,没有镜像则pull
FROM centos:7
# 为Dockerfile中所有RUN、CMD、ENTRYPOINT、COPY和ADD指令设定工作目录
WORKDIR /usr
# 执行命令(这里创建了一个目录)
RUN mkdir /usr/local/java
# 和copy一样,复制文件到指定目录,但是copy不能解压,add自动解压
ADD jdk-8u111-linux-x64.tar.gz /usr/local/java
# 重命名(不知道文件名可以现在宿主机解压后看一下)
RUN ln -s /usr/local/java/jdk1.8.0_111 /usr/local/java/jdk 
# 设置环境变量 
ENV JAVA_HOME /usr/local/java/jdk 
ENV JRE_HOME ${JAVA_HOME}/jre 
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib 
ENV PATH ${JAVA_HOME}/bin:$PATH 

# 创建一个目录
RUN mkdir /demo
# 将jar包copy到指定目录
ADD job.jar /demo/app.jar
# 启动命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","-Xmx512m","-Xms512m","/demo/app.jar"]

2.2. 下载需要的外部包

​ 这个场景我只用到了jdk。

2.3. 执行dockerFile文件,构建镜像

代码语言:javascript
复制
docker build -t my/demo .

注意最后的 . 表示 Dockerfile 文件在当前目录下

my/demo 构建之后镜像名称

2.4. 运行容器

代码语言:javascript
复制
docker run -d --name demo -p 8080:8080 my/demo

关于 Docker 镜像的更多信息:

关于 Docker 容器的更多信息:

关于 Docker 的更多信息:

参考文档

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2. docker 启动jar包
    • 2.1. 编写dockerFile文件
      • 2.2. 下载需要的外部包
        • 2.3. 执行dockerFile文件,构建镜像
          • 2.4. 运行容器
          • 关于 Docker 镜像的更多信息:
          • 关于 Docker 容器的更多信息:
          • 关于 Docker 的更多信息:
          • 参考文档
          相关产品与服务
          容器镜像服务
          容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档