Docker:第二章:部署项目,对镜像,容器的操作
服务器上的项目访问不了,所以我去看了看容器,果然
那我就删除容器呗 :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 终端。
终端:
终端,即所谓的命令行界面,又称命令终端,用户输入shell命令用的窗口,跟Windows里的DOS界面差不多。
shell,Shell就是用户和操作系统之间的壳,中介,GUI和CLI都算是Shell,登陆终端可以是登陆了Bash也可能是Csh或者Dash;是操作系统与用户交互用的接口,在命令终端里可以使用shell。shell将用户输入翻译为操作系统能处理的指令。shell提供了一些内置命令,也支持调用外面工具。
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了