
本文主要介绍了docker的一些常用命令以及Dockerfile的组成元素
镜像
拉取镜像
docker pull
查看镜像
docker images
删除镜像
docker rmi
常用参数:
创建镜像
docker commit
常用参数:
常用参数:
容器
创建/启动容器
docker create
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的相关指令
FROM openjdk:8-jre-alpine
MAINTAINER "syj <syj@shiyujun.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"
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

推荐阅读
点赞收藏转发好看再走呗!
