Docker常用命令总结

Posted by 石玉军 on 2018-11-27

本文主要介绍了docker的一些常用命令以及Dockerfile的组成元素

镜像

拉取镜像

docker pull

查看镜像

docker images

删除镜像

docker rmi

常用参数:
1. -f:强制删除运行中的容器

创建镜像

  1. docker commit

常用参数:
1. -m:本次提交信息
2. --author="" :作者
2.docker build 使用此从Dockerfile文件来构建镜像

常用参数:
1. -t x/y:z:指定镜像的命名空间为x仓库为y,tag为z

容器

创建/启动容器

  1. docker create
    docker create命令创建的容器并不会立即进入运行状态,需要使用docker start命令来启动
  2. docker retart 重启容器
  3. docker run

常用参数:

1. --name:为容器指定名称
2. -it:启动一个交互型容器,此参数为我们和容器提供了一个交互shell
3. -d:创建后台型容器
4. -restart=always:容器退出后自动重启
5. -restart=on-failure:x:容器退出时如果返回值是非0,就会尝试重启x次
6. -p x:y :主机端口:容器端口
7. -P:随机分配一个49000到49900的端口
8.-v:创建数据卷
7. -n :指定dns
8. -h : 指定容器的hostname
9. -e :设置环境变量
10. -m :设置容器使用内存最大值
11. --net: 指定容器的网络连接类型,支持 bridge/host/none/container
12. --link=x: 添加链接到另一个容器x
13. --expose=x: 开放端口x

这里docker create和docker run -it创建的容器都是交互型容器

查看容器

  1. docker ps 查看正在运行的容器

常用参数:

1. -a:查看所有容器
2. -l:只列出最近创建的
3. -n=x:只列出最后创建的x个
3. -q:只列出容器id

停止容器

  1. docker stop
  2. docker kill

删除容器

docker rm

常用参数:

1. -f:强制删除运行中的容器
2. docker rm `docker ps -aq`:删除所有容器

查看容器日志

docker logs

常用参数:

1. -f:实时查看日志
2. --tail=x:查看最后x行
3. -t:查看日志产生的时间

查看容器进程

docker top

查看容器配置信息

docker inspect
常用参数:

1. -f='{{x}}':查看x配置

进入容器

  1. docker attch 进入交互型容器

常用参数:

1. -f:强制删除运行中的容器
2. docker rm `docker ps -aq`:删除所有容器
  1. docker exec 进入后台型容器

常用参数:

1. -it 容器id /bin/bash:进入到后台容器

Dockerfile

如下是一个Dockerfile文件,我们就来通过这个文件来学习一下Dockerf的相关指令

1
2
3
4
5
6
7
8
9
10
11
12
FROM openjdk:8-jre-alpine
MAINTAINER "syj <syj@zhixiang.org.cn>"
RUN apt-get update
EXPOSE 80
ADD test.0.0.1.jar app.jar
VOLUME /tmp
WORKDIR /tmp
ENV username syj
CMD java -jar /app.jar
ENTRYPOINT java -jar /app.jar
USER root
ONBUILD:echo "hello child"
  1. FROM:文件开头的指令,指定父级镜像
  2. MAINTAINER: 作者信息,syj是用户名,后面是邮箱
  3. RUN: 用来执行命令,可以有一下三种形式
    1. RUN apt-get update
    2. RUN [ “apt-get”," update" ]
    3. RUN apt-get update && apt-get nginx
  4. EXPOSE: 指定容器对外开放的端口
  5. ADD :将主机上的文件(Dockerfile的相对路径)或者网络文件添加到镜像中
  6. VOLUME :指定挂载点
  7. WORKDIR:下方指令执行的目录
  8. ENV:设置环境变量
  9. CMD:启动容器时默认运行的命令,同RUN的执行方式
    1. CMD java -jar /app.jar
    2. CMD [“java”,"-jar","/app.jar"]
  10. ENTRYPOINT :同CMD
  11. USER :执行指令的用户
  12. ONBUILD:触发器指令,此镜像当做父镜像时执行的命令,可以跟ADD、RUN、ENTRYPOINT

本文出自http://zhixiang.org.cn/,转载请保留


1111111111111