(1)docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
(2)容器和宿主机之前的数据饿共享
(3)容器停止后,宿主机修改文件, 仍然同步到容器中
2 . DockerFile添加
(1) 在根目录下创建mydocker 并进入
(2) 可以在Docerfile中使用VOLUME指定给镜像添加一个或者多个数据卷
(3)构建file
vim DockerFile
(4) build后生成镜像
docker build -f /mydocker/Dockerfile -t tina/centos .
docker images 查看生成的镜像
(5)根据镜像生成一个容器
docker run -it tina/centos 根据该镜像生成一个容器
(6)可以去容器内部查看容器中的数据卷分别对应的宿主机中的文件位置
docker inspect 容器ID
容器之间的配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止。
docker build -f /mydocker/Dockerfile2 -t mycentos:2.3 .
docker run -it mycentos:2.3
docker images mycentos
docker history ec5b7d6c1768
配置文件名为:project.properties,内容如下:# 是否开启逻辑删除
del.filter.on=false
domain=http://www.366go.cn/
修改Spring配置文件
之前代码:
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:dbinfo.properties</value>
</list>
</property>
</bean>
修改后的配置文件
<bean id="propertyConfigurer"
class="com.hisun.core.util.CustomizedPropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:dbinfo.properties</value>
<value>classpath:project.properties</value>
</list>
</property>
</bean>
加入了classpath:project.properties,其为自定义的配置文件
将PropertyPlaceholderConfigurer类修改为自定义类CustomizedPropertyPlaceholderConfigurer,
PropertyPlaceholderConfigurer类的具体作用可以查资料这块儿不做详细介绍
定义CustomizedPropertyPlaceholderConfigurer类
类的具体内容为下,
import java.util.HashMap
import java.util.Map
import java.util.Properties
import org.springframework.beans.BeansException
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
public class CustomizedPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
private static Map ctxPropertiesMap
@Override
protected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess,
Properties props) throws BeansException {
super.processProperties(beanFactoryToProcess, props)
ctxPropertiesMap = new HashMap()
for (Object key : props.keySet()) {
String keyStr = key.toString()
String value = props.getProperty(keyStr)
ctxPropertiesMap.put(keyStr, value)
}
}
public static Object getContextProperty(String name) {
return ctxPropertiesMap.get(name)
}
}
定义获取配置文件中值的类SpringPropertiesUtil
类的具体内容如下:
import org.springframework.beans.BeansException
import org.springframework.context.ApplicationContext
import org.springframework.context.ApplicationContextAware
import org.springframework.stereotype.Component
/**
* Spring-PropertiesUtil工具类 -获取属性值
*
*/
@Component
public class SpringPropertiesUtil implements ApplicationContextAware {
public static final String KEY = "propertyConfigurer"
private static ApplicationContext applicationContext
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
SpringPropertiesUtil.applicationContext = applicationContext
}
public static ApplicationContext getApplicationContext() {
return applicationContext
}
/**
* 获取配置文件中的内容
*
* @param keyName
* @return
*/
public static String parseStr(String keyName) {
CustomizedPropertyPlaceholderConfigurer cp = (CustomizedPropertyPlaceholderConfigurer) applicationContext
.getBean(KEY)
return cp.getContextProperty(keyName).toString()
}
/**
* 获取配置文件中的内容
*
* @param keyName
* @return
*/
public static int parseInt(String keyName) {
CustomizedPropertyPlaceholderConfigurer cp = (CustomizedPropertyPlaceholderConfigurer) applicationContext
.getBean(KEY)
return Integer.parseInt(cp.getContextProperty(keyName).toString())
}
/**
* 获取配置文件中的内容
*
* @param keyName
* @return
*/
public static double parseDouble(String keyName) {
CustomizedPropertyPlaceholderConfigurer cp = (CustomizedPropertyPlaceholderConfigurer) applicationContext
.getBean(KEY)
return Double.parseDouble(cp.getContextProperty(keyName).toString())
}
}
这样,在项目当中就能够方便快速的获取properties文件中配置的参数
如SpringPropertiesUtil.parseStr(“content”)
关于Docker容器,其实就是基于一个Docker镜像创建的,而且Docker镜像本身则可以通过Docker命令工具,或者Dockerfiles来生成。在容器之间拷贝数据,也是Docker的一个重要而且基本的功能,将数据拷贝到其他容器也是一个经常使用的场景。不过需要怎样将Docker容器中的文件导入主机呢?这里小编就给大家介绍下,关于Docker容器中的文件导入到主机的具体 *** 作方法。docker
cp
容器ID:容器中文件的绝对路径 主机路径
docker
cp使用方法
docker
cp
03091bf3d393:/root/Documents/combo.cpp
。/
上面这条命令就是把ID为03091bf3d393的容器中的/root/Documents/目录下的combo.cpp文件拷贝到主机的当前目录下。
关于Docker容器中的文件导入到主机的 *** 作方法就介绍完了,拷贝Docker容器中的文件到其他容器能起到备份数据的作用,如果用户想导入文件到主机的用户可以按照上面的方法 *** 作即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)