docker export_docker使用简介

一 docker服务端和客户端

declare -x DOCKER_HOST="192.168.2.162

export DOCKER_HOST=192.168.2.162

docker -H tcp://192.168.2.162:2375 images

二 docker daemon配置

cat /etc/sysconfig/docker

OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock'

三 docker镜像

docker pull 镜像名

docker search 镜像名

docker images 列出镜像列表

docker image ls 等同于 docker images

docker rmi image_id 删除镜像

docker save 保存镜像

docker load 装载镜像

四 docker容器管理命令

docker rm `docker ps -a -q`查看所有容器

docker run -d -p 8888:8888 -p 55555:55555 --name btsync ctlc/btsync 创建容器

docker create -it ubuntu:latest 创建容器

docker start container

16dfb3562ea046d6245934294e4bd47a.png

启动容器

docker inspect container 获取容器的详细信息

docker stop container 停止容器

docker rm container 删除容器

docker network ls 列出docker网络

docker run -it --rm ubuntu:16.04 /bin/bash rm 的意思是容器退出随之将其删除

五 进入容器

1.docker attach

多个窗口同时attach到同一个容器的时候,所有窗口都会同步显示。远程演示的时候可以使用。

2. docker exec -it container /bin/bash

3.nsenter工具

PID = $(docker inspect --format "{{.State.Pid}}" )

nsenter --target $PID --mount --uts --pic --net --pid

六 导入和导出容器

docker export container >test_for_export.tar

cat test_for_export.tar |docker import - test/ubuntu:v1.0

容器是从镜像创建的应用运行实例。镜像自身是只读的。容器从镜像启动的时候,docker会在镜像的最上层创建一个可写层,镜像本身将保持不变。

七 docker数据卷

在容器内创建一个数据卷

docker run -d -P --name web -v /webapp training/webapp python app.py

使用training/webapp镜像创建一个web容器,并创建一个数据卷挂载到容器的/webapp目录

挂载一个主机目录作为数据卷

docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py

加载主机的/src/webapp目录到容器的/opt/webapp目录

挂载一个本地主机文件作为数据卷

docker run --rm -it -v /root/.bash_history:/.bash_history ubuntu /bin/bash

这样就可以记录在容器输入过的命令历史了

数据卷容器

docker -ti -v /dbdata --name dbdata ubuntu

然后可以在其他容器中使用--volumes-from 来挂载dbdata容器中的数据卷

如创建db1和db2容器,并从dbdata容器挂载数据卷

docker run -it --volumes-from dbdata --name db1 ubuntu

docker run -it --volumes-from dbdata --name db2 ubuntu

在dbdata容器中创建一个test文件

在db1容器中可以查看到

可以多次使用 --volumes-from 参数来从多个容器挂载多个数据卷,还可以从其他已经挂载的容器卷的容器来挂载数据卷

docker run -d --name db3 --volumes-from db1 training/postgres

利用数据卷容器来迁移数据

备份

docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu

tar cvf /backup/backup.tar /dbdata

首先利用ubuntu镜像创建一个容器worker 使用--volumes-from dbdata参数来让worker容器挂载dbdata容器的数据卷即dbdata数据卷

使用-v $(pwd):/backup 参数来挂载本地的当前目录到worker的容器/backup目录

容器woker启动后 使用tar cvf /backup/bakcup.tar /dbdata命令来讲/dbdata下内容备份为容器的 /backup/backup.tar 即宿主主机当前目录下的backup.tar

恢复

如果要恢复数据到一个容器,可以按照下面操作

首先创建一个带有数据卷的容器dbdata2

docker run -v /dbdata --name dbdata2 ubuntu /bin/bash

然后创建和一个新的容器,挂载dbdata2的容器。并使untar解压备份文件到所挂载的容器卷中

docker run --volumes-from dbdata2 -v $(pwd):/backup busybox

tar xvf /backup/backup.tar

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值