【docker安装】docker安装与部署

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

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值