Docker 使用案例


docker pull

docker pull registry.hub.docker.com/ubuntu:15.04
# 即从注册服务器 registry.hub.docker.com 中的 ubuntu 仓库来下载标记为 15.04 的镜像

存出和载入镜像

# 存出镜像
sudo docker save -o ubuntu_14.04.tar ubuntu:14.04

# 载入镜像
sudo docker load --input ubuntu_14.04.tar
sudo docker load < ubuntu_14.04.tar

导出和导入容器

# 导出容器
sudo docker ps -a
## CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES
## 7691a814370e        ubuntu:14.04        "/bin/bash"         36 hours ago        Exited (0) 21 hours ago                       test
sudo docker export 7691a814370e > ubuntu.tar

# 导入容器快照
cat ubuntu.tar | sudo docker import - test/buntu:v1.0
sudo docker import http://example.com/exampleimage.tgz example/imagerepo

注:用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

Generate base image

1.Dockerfile

FROM ubuntu:15.04

MAINTAINER Darebeat <fengwei2010@126.com>
# 设置时区
ENV TZ "Asia/Shanghai"
ENV TERM xterm

ADD patch.tar.gz /
RUN apt-get update && apt-get install -y vim curl git

2.patch.tar.gz

/etc/apt/source.list
/bin/
    ping
    bash
    mysql 这是可执行的客户端二进制文件
/sbin/
    ifconfig
    route

3.built

#! /bin/bash
set -e
if [ $(docker images|grep ubuntu|grep base|awk '{print $3}') ]; then
    docker rmi -f $(docker images|grep ubuntu|grep base|awk '{print $3}')
fi
docker build -t ubuntu:base .

运行container

docker run -idt --rm -p 2222:22 -P 22 --name test busybox:latest sh

进入container

docker exec -it test /bin/bash

Docker容器内外互相拷贝数据

1.用-v挂载主机数据卷到容器内

docker run -v /path/to/hostdir:/mnt $container
# 在容器内拷贝
cp /mnt/sourcefile /path/to/destfile

2.直接在主机上拷贝到容器物理存储系统
3.用输入输出符

docker run -i ubuntu /bin/bash -c 'cat > /path/to/container/file' < /path/to/host/file/  
docker exec -it <container_id> bash -c 'cat > /path/to/container/file' < /path/to/host/file/
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,718评论 15 147
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 9,854评论 0 27
  • 原文地址:LoveDev Docker相对于传统意义上的虚拟机最大的区别就在于传统虚拟机是虚拟出一套硬件后,再在上...
    KevinLive阅读 9,140评论 3 7
  • docker基本概念 1. Image Definition 镜像 Image 就是一堆只读层 read-only...
    慢清尘阅读 12,863评论 1 21
  • 从现在来看,自己身上充满了各种负能量 做事情拖拖拉拉,不到最后期限就不去处理。 说话总是说不急,不急,这个先缓缓 ...
    痞子绅士一米八阅读 1,355评论 0 0

友情链接更多精彩内容