Dockerfile指令及docker的常用命令
Dockerfile
FROM:
FROM <image>
FROM <image>:<tag>
MAINTAINER:
MAINTAINER <name>
RUN
RUN apt-get update
RUN mkdir /some_dir/
CMD:(设置docker run时启动的命令)
#ENTRYPOINT和CMD都是启动命令,
#如果只有一个那就执行那个。
#如果两个都有并且都是完整的命令,执行最后一个
#如果有ENTRYPOINT,CMD是参数,那么CMD就是ENTRYPOINT默认的参数
CMD ["executable","param1","param2"] (like an exec, this is the preferred form)
CMD command param1 param2 (as a shell)
CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
ENTRYPOINT:(设置容器启动时的命令)
ENTRYPOINT ["executable", "param1", "param2"] (like an exec, the preferred form)
ENTRYPOINT command param1 param2 (as a shell)
USER:(指定容器的用户)
USER root #默认就是root用户
EXPOSE:(容器的端口)
EXPOSE <port1> [<port2>.....]
ENV:(环境变量)
#设置了ENV后,后续的RUN命令都可以用
ENV <key> <value>
ENV JAVA_HOME /path/to/java/
ADD
#src必须在当前Dockerfile目录,不支持绝对目录,向ADD一个绝对目录的文件需要提前复制文件到当前目录
ADD <src> <dest>
ADD a_dir/ /usr/a_dir/
VOLUME:(很麻烦的一个东西也很重要)
WORKDIR:(设置容器内的工作目录)
#在/usr/local下创建src目录
WORKDIR /usr
WORKDIR /local
mkdir src/
ONBUILD:(在子镜像中执行)
docker的常用命令:
docker build -t <image> <Dockerfile_dir>
docker build -t ubuntu:16.04 . docke run -it --name <name> <image_name>
docker run -it --name test -p 5000:5000 ubuntu:16.04 /bin/bash docker logs -f <容器名orID> docker ps
docker ps -a
docker rm $(docker ps -a -q) #删除所有容器
docker images
docker rmi <image_name>
docker rmi $(docker images | grep none | awk '{print $3}' | sort -r) docker stop <container>
docker start <container>
docker kill <container>
docker attach <container>
docker inspect <container>
docker exet -it <conatainer> /bin/bash #进入容器并给个终端
docker cp <container>:/path/file . #将容器内东西拷出来 #A的容器保存复制到B启动
#A
docker save <container> > ./save.tar
scp save.tar <user>@<ip>:<path>
#B
docker load save.tar
ctrl + p + ctrl + q 静默退出
Dockerfile指令及docker的常用命令的更多相关文章
- Docker学习(三)认识Docker和常用命令
Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...
- Docker Kubernetes 常用命令
Docker Kubernetes 常用命令 增 # 通过文件名或标准输入创建资源. kubectl create # 读取指定文件内容,进行创建.(配置文件可指定json,yaml文件). kube ...
- 【Docker入门】Docker的常用命令
了解和安装完docker之后,我们学习一下docker的常用命令就和当初学linux命令一样,放心命令其实大致相同只不过细节不同. 一.Docker启动类命令 1.启动docker:syste ...
- Docker(二十二)-Docker Swarm常用命令
#查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...
- Docker Swarm常用命令
#查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...
- Docker之常用命令(二)
这篇博客就不扯皮了,简单粗暴地贴上自己整理的一份Docker常用命令. docker search ** // 查找镜像 docker pull nginx // 载入镜像 # -a 拉取所有tagg ...
- 八、docker的常用命令
1 Docker常用命令 1.1 存储镜像 如果要导出镜像到本地文件,可以使用 docker save 命令. docker save -o log_v140.tar docker.io/vmware ...
- docker学习-常用命令2
三.容器管理命令3.1 Docker commit 命令,从容器创建一个新的镜像.OPTIONS说明: -a :提交的镜像作者: -c :使用Dockerfile指令来创建镜像: -m :提交时的说明 ...
- Docker镜像常用命令
镜像(image)是Docker三大核心概念中最重要的,是运行容器的前提. Docker运行容器前需要本地存在对应的镜像,如果镜像没保存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Dock ...
随机推荐
- Oracle 时间 MM-dd形式转换
SELECT TO_CHAR( SYSDATE,'MM-dd') AS beginTime,TO_CHAR( TO_DATE(MAX(C.SUBSCRIBE_DATE),'YYYY-MM-dd'),' ...
- .Net Framework 与 SQL Server 2005 混乱的时间最大最小值
Net Framewrok 中,DateTime.MinValue => 0001/01/01 00:00:00SqlDateTime.MinValue.Value => 1753/01 ...
- 安装Glass Box代理程序
安装玻璃盒代理程序 目前版本的玻璃代理程序主要支持主流 Java EE 应用程序服务器(如 JBoss,Tomcat,WebLogic 和 WebSphere).玻璃盒代理程序可以自动化安装,但考虑到 ...
- ps选框工具全解
我们每次选择工具的时候,ps上面都会变成特定的选项,比如说下面这些: 比如说选区工具的话就分为新选区.添加选区.交叉选区之类的,这些都是需要在实战中练习的. 不单单是选区有这个工具,其他的也有这个功能 ...
- Atitit.jdk java8的语法特性详解 attilax 总结
Atitit.jdk java8的语法特性详解 attilax 总结 1.1. 类型推断这个特别有趣的.鲜为人知的特性1 2. Lambda1 2.1. 内部迭代意味着改由Java类库来进行迭代,而不 ...
- Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法)
Ubuntu 16.04 安装opencv的各种方法(含opencv contrib扩展包安装方法) https://blog.csdn.net/ksws0292756/article/details ...
- 跟我一起写 Makefile(二)[转]
原文链接 http://bbs.chinaunix.net/thread-408225-1-1.html(出处: http://bbs.chinaunix.net/) 一.Makefile里有什么? ...
- linux实用命令备忘
1. 卸载旧内核 sudo apt-get purge linux-image-xxx-xx-generic 2. 快速换ubuntu的源: sudo sed -i 's/vivid/wily/' / ...
- DJI SDK iOS 开发之中的一个:前言
写这个开发教程之前,还是先说点什么. 首先要声明的是我并非DJI的员工.仅仅是DJI 飞行器的爱好者. 在DJI的phantom出来之后.我就一直期待着能够推出SDK.之前最早是Parrot的AR D ...
- 关于reset.css的那些事
分析过程:body: 发现在没有填写任何内容的情况下是没有margin 的 只有在加入了文字或者div中以后才有了margin(废话)那么 我想问一下 body的padding 默认的有吗??在哪里 ...