Docker:第二章:部署项目,对镜像,容器的操作

178 阅读4分钟

服务器上的项目访问不了,所以我去看了看容器,果然

那我就删除容器呗 :docker rm 容器id

docker rm f097e24a9a0f

说明:从镜像到容器,同一个镜像构建多个运行的 Docker 实体——容器,镜像提供了容器运行时所需的程序、库、资源、配置等文件,还包含了一些为运行时准备的一些配置参数。镜像是一个静态的概念,镜像不包含任何动态数据,其内容在构建之后也不会被改变。

可以去看看镜像

 可以看到仓库,标签,ID,创建时间和大小

从一个镜像运行一个包含一个主进程进程的容器命令:docker run -ti --name mall_mall-portal_1 mall/mall-portal:1.0-SNAPSHOT bash

命令解释

  • Docker run 是从一个镜像运行一个容器的指令。
  • -ti 参数的含义是:terminal interactive,这个参数可以让我们进入容器的交互式终端。
  • --name 指定容器的名字,后面的 mall_mall-portal_1就是我们给这个容器起的名字。
  • mall/mall-portal:1.0-SNAPSHOT 是致命从哪个镜像运行容器,mall/mall-portal是仓库名,1.0-SNAPSHOT是标签。
  • bash 指明我们使用 bash 终端。

终端:

  1. 终端,即所谓的命令行界面,又称命令终端,用户输入shell命令用的窗口,跟Windows里的DOS界面差不多。
  2. shell,Shell就是用户和操作系统之间的壳,中介,GUI和CLI都算是Shell,登陆终端可以是登陆了Bash也可能是Csh或者Dash;是操作系统与用户交互用的接口,在命令终端里可以使用shell。shell将用户输入翻译为操作系统能处理的指令。shell提供了一些内置命令,也支持调用外面工具。
  3. dash,是ubuntu里默认的shell。shell有好多种,除支持默认的POSIX标准外还支持不同的扩展语法,目前最常用的是bash,很多shell学习的教程都是针对bash的。dash除了不支持数组外,其实和bash差别也不大。ubuntu里可以将默认shell由dash改为bash。

docker ps -a再次查看

容器已经创建了,但是还是

这我就不服了,删镜像,再次重新弄

删除镜像之前,要删除容器才可以删除镜像

查看镜像:
docker images

查看容器:

docker ps -a

发现已经删除了容器和镜像

现在重新导入镜像

在项目的pom.xml加入类似的

执行操作

查看的导入镜像

再次执行

再次查看

我靠,我要炸了

 重振“熊”心

查看日志

找到错误信息

这就奇怪了,我项目运行是没有报错的

错误信息:

无法解析值“$accesskeyid”中的占位符“accesskeyid”

第一时间想到的是多个properties文件造成的,但是项目在浏览器运行没有出错,可以注册,说明它是可以读取的

项目目录:

 后面想到可能是服务器读取不到resources中的属性文件,导致读取不到accessKey.properties中的accessKeyId的

用个死办法,将accessKey.properties中的accessKeyId的数据取出来写死到业务上在重新上传镜像导入容器

可以看到容器创建了

让所有项目关掉重新启动

错误信息:无法为服务商城门户创建容器:b'冲突。集装箱名称“89F8C97537EBA05840BB0809441E4F16BC3875F0124309088EB771C0D9EE039”已被集装箱“89F8C97537EB05840BB0809441E4F16BC3875F0124309088EB771C0D9EE039”使用。您必须删除(或重命名)该容器才能重用该名称。”


然后删除,重来一遍就ok了