那些有用的docker command

2019-04-08  本文已影响0人  吧啦啦小汤圆
// 将本地的从某个数据库down下来数据文件,放到docker容器id为e12344555 的容器的根目录下的data.dump文件中(此文件没有会自动新建)
$ docker ps ~/Documents/production-data.dump   e12344555:/data.dump 

// 将本地的数据文件,放到docker容器id为e12344555 的容器的根目录下的update.sql文件中(此文件没有会自动新建)
$ docker cp ~/Documents/a.sql  e12344555:/update.sql

// 会把本地的docker 容器中的postgresql 中的数据文件data.dump 导入到数据库postgresql中(-d: 会先drop schemeName ,-c: 然后create schemaName )
$ pg_restore -d schemaName data.dump -c -U schemaName 

// 在数据库psql中执行数据文件update.sql中的内容,其中updata.sql中是需要执行的数据库sql命令
$ psql -f update.sql r2s -U r2s 

我又学会了什么docker 命令

volumes:
  - "../../dpts-nfs/claim-cam:/var/data/dpts-nfs/claim-cam”
表示把本地的某个路径挂载到docker 的/var/data/dpts-nfs/claim-cam 的路径下,如果本地没有这个路径,会自动创建/dpts-nfs/claim-cam , 相对该
Docker-compose.yml 的位置。
environment:
  - "spring.datasource.url=jdbc:postgresql://claim-cam-database:5432/claimcam"
  - "dpts.nfs.claimcam.path=/var/data/dpts-nfs/claim-cam”
这里的两个环境变量会重写
docker rm -f claim-cam-database
docker-compose build api //
docker-compose up -d --force-recreate api

docker  stop   $(docker  ps   -a  -q)  //批量停止容器
docker rm $(docker ps -a -q)  // 批量清除所有已停止的容器
docker rm -f -v  $(docker ps -q)   //小心谨慎操作,该指令清除机器上所有在run的容器

//docker rmi命令可以清除所有不再使用的镜像(未被某容器引用的),一般情况下仅仅清除状态为dangling的镜像。状态为dangling的镜像为未被打标签和没有被任何容器引用的镜像。
docker rmi $(docker images -a)
//删除全部镜像
docker rmi $(docker images -q)
//当要删除的iamges和其他的容器有关联而无法删除时, 可以使用 -f 
docker rmi -f $(docker images -q)

docker stop $(docker ps -a -q) & docker rm  -f $(docker ps -a -q)

// 卷清理,存储卷永远都不会自动被删除。
docker volume rm $(docker volume ls -q -f dangling=true)

docker 常见命令说明:https://yeasy.gitbooks.io/docker_practice/compose/commands.html

上一篇下一篇

猜你喜欢

热点阅读