本文主要介绍了docker的一些常用命令以及Dockerfile的组成元素
镜像
拉取镜像
docker pull
查看镜像
docker images
删除镜像
docker rmi
常用参数:
1. -f:强制删除运行中的容器
创建镜像
- docker commit
常用参数:
1. -m:本次提交信息
2. --author="" :作者
2.docker build 使用此从Dockerfile文件来构建镜像
常用参数:
1. -t x/y:z:指定镜像的命名空间为x仓库为y,tag为z
容器
创建/启动容器
- docker create
docker create命令创建的容器并不会立即进入运行状态,需要使用docker start命令来启动 - docker retart 重启容器
- 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创建的容器都是交互型容器
查看容器
- docker ps 查看正在运行的容器
常用参数:
1. -a:查看所有容器
2. -l:只列出最近创建的
3. -n=x:只列出最后创建的x个
3. -q:只列出容器id
停止容器
- docker stop
- 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配置
进入容器
- docker attch 进入交互型容器
常用参数:
1. -f:强制删除运行中的容器
2. docker rm `docker ps -aq`:删除所有容器
- docker exec 进入后台型容器
常用参数:
1. -it 容器id /bin/bash:进入到后台容器
Dockerfile
如下是一个Dockerfile文件,我们就来通过这个文件来学习一下Dockerf的相关指令
1 |
FROM openjdk:8-jre-alpine |
- FROM:文件开头的指令,指定父级镜像
- MAINTAINER: 作者信息,syj是用户名,后面是邮箱
- RUN: 用来执行命令,可以有一下三种形式
- RUN apt-get update
- RUN [ “apt-get”," update" ]
- RUN apt-get update && apt-get nginx
- EXPOSE: 指定容器对外开放的端口
- ADD :将主机上的文件(Dockerfile的相对路径)或者网络文件添加到镜像中
- VOLUME :指定挂载点
- WORKDIR:下方指令执行的目录
- ENV:设置环境变量
- CMD:启动容器时默认运行的命令,同RUN的执行方式
- CMD java -jar /app.jar
- CMD [“java”,"-jar","/app.jar"]
- ENTRYPOINT :同CMD
- USER :执行指令的用户
- ONBUILD:触发器指令,此镜像当做父镜像时执行的命令,可以跟ADD、RUN、ENTRYPOINT
本文出自http://zhixiang.org.cn/,转载请保留