【docker】docker在ubuntu中的安装与部署
来源:互联网 发布:纳网科技域名续缴费 编辑:程序博客网 时间:2024/04/30 11:48
一. 安装docker
sudo apt-get install -y docker.io
二. 安装docker维护的版本
sudo apt-get install -y curl
curl -sSL https://get.docker.com/ubuntu | sudo sh
三. 使用非root用户
sudo groupadd docker
sudo gpasswd -a ${user} docker
sudo service docker restart
四. 添加docker镜像加速
1. 编辑文件vim /etc/default/docker
DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4 --registryimirror http://d0fd354d.m.daucloud.io"
2. 重启服务: sudo service docker restart
五. Dockerfile文件
RUN
RUN的用法
RUN后面跟构建时需要执行的命令,有两种写法:
1.方式一:RUN后直接跟命令
- 1
- 1
2.方式二:命令和参数以数组的形式存放(推荐)
- 1
- 1
RUN的特点
- RUN在镜像被构建时执行,因此RUN后一般跟用于构建镜像的命令,如安装软件的命令、环境配置的命令等。
- RUN可以有多条,在构建镜像时被依次执行。
CMD
CMD的用法
CMD后的命令仅在容器启动时执行,和RUN一样,也有两种用法:
1.方式一:CMD后直接跟命令
- 1
- 1
2.方式二:命令和参数以数组的形式存放(推荐)
- 1
- 1
CMD的特点
- CMD在容器运行的时候执行,而且一个Dockerfile中该命令只能有1个或0个,因此CMD后一般跟用于启动软件的命令。
- CMD会被docker run末尾的命令覆盖。
PS:docker run的末尾的命令也在容器启动的时候执行,而且它的优先级较高,会覆盖Dockerfile中的CMD命令。
ENTRYPOINT
和CMD一样,ENTRYPOINT也在容器启动时执行,只不过ENTRYPOINT不会被docker run后的命令覆盖。当容器运行时,docker run后的命令会追加到ENTRYPOINT的末尾,因此ENTRYPOINT和docker run搭配可以产生神奇的效果:
- 在Dockerfile的ENTRYPOINT后仅提供命令:
- 1
- 1
- 在docker run末尾仅提供参数:
- 1
- 1
此时,docker run某位的参数会追加到ENTRYPOINT后,从而相当于执行命令:
- 1
- 1
这种方式可以为命令动态添加参数。
WORKDIR
该命令用于指定Dockerfile中指令的工作目录,类似于Linux中的cd命令。如:
- 1
- 2
- 1
- 2
当设置完WORKDIR后,后面的命令将基于该工作目录执行。
ENV
该命令用于设置环境变量,且该环境变量会持久化地保存至该镜像的所有容器中。
- 1
- 2
- 1
- 2
也可以使用-E参数在容器运行的时候设置,如下所示:
- 1
- 1
使用-E参数设置的环境变量只在当前容器运行期间有效,关闭容器后随即消失。
ADD
该命令用于将宿主机中的文件/目录复制到容器的指定目录下,如:
- 1
- 2
- 1
- 2
PS:Docker根据末尾是否有“/”来判断目标路径为目录还是文件。
COPY
本命令和ADD类似,唯一区别是ADD可以添加宿主机中任何文件/目录,而COPY只能添加当前构建目录中的文件/目录。
- 【docker】docker在ubuntu中的安装与部署
- Docker部署与安装
- Docker的安装与部署
- 一.docker安装与部署
- 在Ubuntu中安装Docker
- 在Ubuntu上安装Docker
- 在UBUNTU中安装DOCKER
- 在 Ubuntu 上安装Docker
- Docker在Ubuntu的部署实践
- Docker在Ubuntu的部署实践
- 在Docker中的ubuntu中安装python和pip
- Docker安装(在Ubuntu中安装Docker)
- docker ubuntu 14.04 安装docker
- Docker - Ubuntu 16.04安装Docker
- Docker - 在Ubuntu 14.04 Server上的安装Docker
- docker安装部署
- Docker快速安装部署
- Docker快速安装部署
- Ubuntu下Crtmp服务器的搭建及过程中遇到的问题解决方法
- xml四种解析技术 简述 优缺点
- 一台机器上安装两个tomcat
- NandFlash和NorFlash的区别
- 【JZOJ 4710】Value
- 【docker】docker在ubuntu中的安装与部署
- Unity中使用ulua的个人经验总结
- 杂记1:android广播监听实时监听网络,以及回调机制应用
- Qt 绑定本机的ip
- Java BlockingQueue
- 前端入坑,先入了React坑
- Android studio 进行Java开发中文乱码问题
- android MVP模式 个人思考
- 以sysdba身份登录oracle报ORA-1031权限不足错误之完美分析