docker在centos中的安装与部署

yum list docker-ce --showduplicates | sort -r

yum update

3.配置docker镜像源

tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

4.安装docker

yum install docker-engine

5.启动docker

systemctl enable docker.service

systemctl start docker

docker在ubuntu中的安装与部署

一.  安装docker

sudo apt-get install -y docker.io

二.  安装docker维护的版本

sudo apt-get install -y curl

curl -sSL https://get.docker.com | 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后直接跟命令

RUN 命令 -参数
  • 1
  • 1

2.方式二:命令和参数以数组的形式存放(推荐)

RUN ["命令","参数"]
  • 1
  • 1

RUN的特点

  1. RUN在镜像被构建时执行,因此RUN后一般跟用于构建镜像的命令,如安装软件的命令、环境配置的命令等。
  2. RUN可以有多条,在构建镜像时被依次执行。

CMD

CMD的用法

CMD后的命令仅在容器启动时执行,和RUN一样,也有两种用法: 
1.方式一:CMD后直接跟命令

CMD 命令 -参数
  • 1
  • 1

2.方式二:命令和参数以数组的形式存放(推荐)

CMD ["命令","参数"]
  • 1
  • 1

CMD的特点

  1. CMD在容器运行的时候执行,而且一个Dockerfile中该命令只能有1个或0个,因此CMD后一般跟用于启动软件的命令。
  2. CMD会被docker run末尾的命令覆盖。 
    PS:docker run的末尾的命令也在容器启动的时候执行,而且它的优先级较高,会覆盖Dockerfile中的CMD命令。

ENTRYPOINT

和CMD一样,ENTRYPOINT也在容器启动时执行,只不过ENTRYPOINT不会被docker run后的命令覆盖。当容器运行时,docker run后的命令会追加到ENTRYPOINT的末尾,因此ENTRYPOINT和docker run搭配可以产生神奇的效果:

  • 在Dockerfile的ENTRYPOINT后仅提供命令:
ENTRYPOINT ["/usr/sbin/nginx"]
  • 1
  • 1
  • 在docker run末尾仅提供参数:
docker run -i -t myContainer -g "daemon off;"
  • 1
  • 1

此时,docker run某位的参数会追加到ENTRYPOINT后,从而相当于执行命令:

/usr/sbin/nginx -g "daemon off;"
  • 1
  • 1

这种方式可以为命令动态添加参数。

WORKDIR

该命令用于指定Dockerfile中指令的工作目录,类似于Linux中的cd命令。如:

WORKDIR /usr/tomcat/bin
ENTRYPOINT ["startup.sh"]
  • 1
  • 2
  • 1
  • 2

当设置完WORKDIR后,后面的命令将基于该工作目录执行。

ENV

该命令用于设置环境变量,且该环境变量会持久化地保存至该镜像的所有容器中。

ENV CATALINA_HOME /usr/tomcat/bin/ #定义环境变量
WORKDIR $CATALINA_HOME #使用环境变量
  • 1
  • 2
  • 1
  • 2

也可以使用-E参数在容器运行的时候设置,如下所示:

run -i -t -e "CATALINA_HOME=/usr/tomcat/bin/" myContainer /bin/bash
  • 1
  • 1

使用-E参数设置的环境变量只在当前容器运行期间有效,关闭容器后随即消失。

ADD

该命令用于将宿主机中的文件/目录复制到容器的指定目录下,如:

COPY file /usr/bin/ #将构建目录中的file文件复制到容器的/usr/bin目录下
COPY file /usr/bin/newFile #将file文件复制到容器的/usr/bin目录下,并赋予新的文件名
  • 1
  • 2
  • 1
  • 2

PS:Docker根据末尾是否有“/”来判断目标路径为目录还是文件。

COPY

本命令和ADD类似,唯一区别是ADD可以添加宿主机中任何文件/目录,而COPY只能添加当前构建目录中的文件/目录。

创建或修改 /etc/docker/daemon.json 文件,修改为如下形式

{"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"]
}

方法一:

Docker中国区官方镜像
https://registry.docker-cn.com

 

网易
http://hub-mirror.c.163.com

 

ustc 
https://docker.mirrors.ustc.edu.cn

 

中国科技大学
https://docker.mirrors.ustc.edu.cn

【docker安装】docker安装与部署相关推荐

  1. Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Nginx

    Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署.测试和分发都变得前所未有的高效和轻松! 无 ...

  2. Docker概述和安装部署

    概述 Docker产生的背景 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后 ...

  3. centos 7 中安装 docker和创建 tomcat容器并部署web应用

    在 CentOS 7 中安装 Docker 和创建 Tomcat 容器并部署Web应用 一般部署Web应用都需要安装数据库,比如 MySQL 和 Redis,MySQL 和 Redis 属于多个Web ...

  4. 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务

    场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程 ...

  5. abp 打包部署到ubuntu_如何在Ubuntu中安装Docker和运行 Docker容器

    Docker是一种开源且流行的操作系统级虚拟化(俗称"容器化")技术,主要在Linux和Windows上运行. Docker使用容器可以更轻松地创建,部署和运行应用程序. 使用容器 ...

  6. 升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署

    概述 容器,顾名思义是用来存放并容纳东西的器皿: 而容器技术伴着Docker的兴起也渐渐的映入大家的眼帘,它是一个抽象的概念,同时也是默默存在世上多年的技术,不仅能使应用程序间完全的隔离,而且还能在共 ...

  7. ubuntu系统下安装docker并部署Springboot+mysql+redis

    目录 安装Docker Docker常用命令 构建mysql容器 构建Redis容器 构建Springboot应用镜像及容器 (1)springboot使用maven将程序打成jar包,接着编写Dok ...

  8. linux安装docker部署java项目

    大家好,我是烤鸭: 分享一下linux上部署docker的javaweb项目 1.环境 linux centos 7.2 64-bit 系统 kernel 3.10+ 查看版本号 : uname -r ...

  9. docker部署python web应用_安装docker并部署web项目

    一.docker简介 1.docker定义:docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以装笔,书包可以放书一样.你可以把"hello world!"放到docke ...

  10. 在阿里云ECS上安装Docker、Tomcat并部署官网(无后端交互)

    在阿里云上的ECS服务器配置 ECS 1核1G,1M带宽 Ubantu 16 Docker Tomcat 9 有公网IP,配置安全策略,没有购买RDS,购买完成后,即设置了账号.密码,远程连接工具用的 ...

最新文章

  1. mysql选什么隔离级别_互联网项目中mysql应该选什么事务隔离级别
  2. Symfony2CookBook:如何创建自定义的表单域类型
  3. Linux futex 快速同步互斥机制简介
  4. 周末了,分享个休闲软件!你懂得!
  5. python主要用途-学习Python的三大主要用途
  6. MSU公布2019视频压缩评比报告客观部分
  7. 2021计算机专业考408的学校,2021考研:计算机考研408是什么?统考学校有哪些?...
  8. python与机器学习(二)Numpy / Pandas /矩阵相乘速度对比
  9. .Net的文件格式(zz)
  10. 管理感悟:眼高手低到眼高手高
  11. 全球及中国硬盘用基板行业发展前景预测与投资战略规划研究报告2022-2028年
  12. ofd阅读器qt_GitHub - gogo123150/ofdEditor: 一个很简陋的ofdEditor
  13. 【论文】解读A time-dependent shared autonomous vehicle system design problem
  14. 修改微信小程序单选,复选框样式
  15. 初学者怎么快速学习3D建模?零基础必备建模知识,你都明白吗?
  16. 炸了!3年图片都没了!
  17. 2020年各省二建房建挂靠价格汇总
  18. python 显著性差异_python matplotlib 标注 统计差异 显著性 *
  19. gogodroid--android 上的IPV6工具
  20. 有些朋友没看清楚,我在这里再特意强调一下

热门文章

  1. 测试用例设计方法(2)
  2. Unity 简单随机创建玩家游戏名
  3. 真正好用的mac版免费OCR文字识别转换工具
  4. 2.5 射频辐射电磁场抗扰度试验【电磁兼容EMC原理、设计与故障排除】
  5. 潇洒郎: windows、centos学习Influxdb下载安装 重置用户、密码 influx语法 数据写入与读取、查询 修改默认启动端口
  6. 【Pytorch Lighting】第 5 章:时间序列模型
  7. 室内设计——海市蜃楼售楼部室内设计(包含预览图jpg和.psd文件)
  8. Unity tips 之文字动画效果
  9. 分布式算法(中科大分布式算法课程笔记)
  10. c语言 linux系统 delay,Linux下实现秒级定时任务的两种方案