当前位置:   article > 正文

Docker 常用命令和使用实例_容器实例 describe

容器实例 describe

一. 常用命令

1. 启动容器
docker run -p 8081:8080 gaha/test &
  • 1

解释:
& : 后台启动stardard
–p : 8081:8080 将本地的端口跟项目的绑定(8081是虚拟机端口,8080是容器端口)
gaha/test : 镜像地址

docker run --name test1111 -it gaha/test /bin/bash &
  • 1

–name : 指定容器名字
-d :让容器在后台运行。(或者&)
-P :将容器内部使用的网络端口映射到我们使用的主机上。容器内部的 8080射到我们本地主机的 8081
-it : 以交互的模式运行
/bin/bash :表示进入到启动的容器内

2. 查看所有容器
docker ps
  • 1

解释:
-a : 包括运行的和关闭的
-o wide : 详细信息,包括运行在的节点

3. 查看输出
docker logs -f 1234(容器ID)
  • 1

解释:
-f : 使得日志像 tail -f 一样来输出容器内部的标准输出

4. 关闭容器
docker stop 1234
  • 1
5. 删除容器
docker rm 1234
  • 1
6. 查看镜像
docker images
  • 1

参数解释:
-a : 本地加远程的镜像

解释:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签

7. 下载镜像
docker pull ubuntu:13.10(镜像名)
  • 1
8. 搜索镜像
docker search ubuntu
  • 1

解释:
NAME :镜像仓库源的名称
DESCRIPTION :镜像的描述
OFFICIAL :是否docker官方发布

9. 删除镜像
docker rmi 1234(id或名字+tag)
  • 1
10. 创建镜像
  1. 创建DockerFile
vi Dockerfile
  • 1
  1. 编写
    事例1
FROM hub.yun.com.cn/official/jdk:8  
RUN /bin/echo "hero"
EXPOSE 222
  • 1
  • 2
  • 3

解释:
FROM ;使用的镜像
RUN :指令告诉docker 在镜像内执行命令,安装了什么。。。
EXPOSE :指令用来告诉Docker这个容器在运行时会监听哪些端口,也就是这些端口与本机绑定

事例2

FROM hub.yun.com.cn/official/jdk:8     # 使用镜像
VOLUME /var/hero/standard             #绑定容器内的路径到本地
ADD standard.jar app.jar                  #拷贝standard .jar 到容器内并且命名为app.jar
RUN bash -c 'touch /app.jar'               # 以bash方式运行jar
EXPOSE 8080                           #容器对外开放端口
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar","--spring.profiles.active=docker"]                                   # 启动jar并且添加参数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

解释:
“-Djava.security.egd=file:/dev/./urandom” 防止一个容器内启动多个实例 安全问题

  1. 进入DockerFile 目录下
docker build -t hero/test:1.0  .
  • 1

解释:
. :表示Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径
-t :指定镜像名
名字后面的”: “:代表tag,也就是1.0

  1. 查看镜像
docker images 
  • 1
  1. 使用镜像创建容器
docker run –t –i gaha/test:dev &
  • 1
11. 镜像打tag
docker tag  1234(镜像ID) gaha/test:dev
  • 1
12. volume

一个数据卷是一个特别指定的目录,数据卷可以在多个容器之间共享。也就是容器内的一个路径跟容器外的一个路径绑定在一起,数据共享。
详细请参考深入理解Docker Volume
或者
Docker volume使用详解及实例

假设VOLUME /var/hero/standard mount到 这个路径/var/hero/standard
在项目中把日志存到/var/hero/standard
使用 docker inspect 4ec476a7a055(容器ID)查看容器详细信息
可以知道/var/hero/standard 关联到的节点路径
去这个路径下就能查看到日志文件

13. 查看容器详情
docker inspect  fa8315724f07(容器ID)
docker describe fa8315724f07(容器ID)
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/834597
推荐阅读
相关标签
  

闽ICP备14008679号