Docker镜像加速(国内镜像站)

阿里云Docker CE 镜像

简介

Docker CE 是免费的 Docker 产品的新名称,Docker CE 包含了完整的 Docker 平台,非常适合开发人员和运维团队构建容器 APP。

配置方法

Ubuntu 14.04/16.04(使用 apt-get 进行安装)
  1. # step 1: 安装必要的一些系统工具
  2. sudo apt-get update
  3. sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
  4. # step 2: 安装GPG证书
  5. curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  6. # Step 3: 写入软件源信息
  7. sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
  8. # Step 4: 更新并安装Docker-CE
  9. sudo apt-get -y update
  10. sudo apt-get -y install docker-ce
  11. # 安装指定版本的Docker-CE:
  12. # Step 1: 查找Docker-CE的版本:
  13. # apt-cache madison docker-ce
  14. # docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
  15. # docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
  16. # Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
  17. # sudo apt-get -y install docker-ce=[VERSION]

CentOS 7(使用 yum 进行安装)
  1. # step 1: 安装必要的一些系统工具
  2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2
  3. # Step 2: 添加软件源信息
  4. sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  5. # Step 3: 更新并安装Docker-CE
  6. sudo yum makecache fast
  7. sudo yum -y install docker-ce
  8. # Step 4: 开启Docker服务
  9. sudo service docker start
  10. # 注意:
  11. # 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
  12. # vim /etc/yum.repos.d/docker-ee.repo
  13. # 将[docker-ce-test]下方的enabled=0修改为enabled=1
  14. #
  15. # 安装指定版本的Docker-CE:
  16. # Step 1: 查找Docker-CE的版本:
  17. # yum list docker-ce.x86_64 --showduplicates | sort -r
  18. # Loading mirror speeds from cached hostfile
  19. # Loaded plugins: branch, fastestmirror, langpacks
  20. # docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
  21. # docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
  22. # docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
  23. # Available Packages
  24. # Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
  25. # sudo yum -y install docker-ce-[VERSION]

安装校验
  1. root@iZbp12adskpuoxodbkqzjfZ:$ docker version
  2. Client:
  3. Version: 17.03.0-ce
  4. API version: 1.26
  5. Go version: go1.7.5
  6. Git commit: 3a232c8
  7. Built: Tue Feb 28 07:52:04 2017
  8. OS/Arch: linux/amd64
  9. Server:
  10. Version: 17.03.0-ce
  11. API version: 1.26 (minimum version 1.12)
  12. Go version: go1.7.5
  13. Git commit: 3a232c8
  14. Built: Tue Feb 28 07:52:04 2017
  15. OS/Arch: linux/amd64
  16. Experimental: false

一把梭就可以了,基本适应主流Linux: curl -skSL https://mirror.azure.cn/repo/install-docker-ce.sh | sh -s — —mirror Aliyun

镜像操作

  1. docker search mysql -s 100
  2. docker pull mysql
  3. docker images
  4. docker ps
  5. docker run -t 0i centos /bin/bash

创建镜像

修改已有镜像

  1. docker pull training/sinatra # 下载镜像
  2. docker run -t -i training/sinatra /bin/bash #启动bash终端
  3. gem install json # 容器命令行安装json,模拟容器增加组件
  4. exit # 退出容器
  5. docker commit -m 'add json gem' -a 'Docker Container' image_id image_name # 提交镜像
  6. docker images # 查看镜像
  7. docker run -t -i image_name /bin/bash # 使用自定义容器启动新的容器

使用DockerFile创建镜像

  1. root@jk-lx-dev-app01 centos]# cat Dockerfile
  2. #注释
  3. FROM centos
  4. MAINTAINER REGAN zz203203zhang@gmail.com
  5. RUN yum -qqy install python
  6. [root@jk-lx-dev-app01 centos]# docker build -t='my/centos_with_wget:v1.0.1' .
  7. Sending build context to Docker daemon 2.048kB
  8. Step 1/3 : FROM centos
  9. ---> 470671670cac
  10. Step 2/3 : MAINTAINER REGAN zz203203zhang@gmail.com
  11. ---> Using cache
  12. ---> 8b8e4b9c1098
  13. Step 3/3 : RUN yum -qqy install wget
  14. ---> Running in 90c01efd9445
  15. Removing intermediate container 90c01efd9445
  16. ---> e769d9517a0d
  17. Successfully built e769d9517a0d
  18. Successfully tagged my/centos_with_wget:v1.0.1
  19. [root@jk-lx-dev-app01 centos]# docker images
  20. REPOSITORY TAG IMAGE ID CREATED SIZE
  21. my/centos_with_wget v1.0.1 e769d9517a0d 17 seconds ago 272MB
  22. addjsontraining/sinatra v1.0.0 d802e17113f6 8 minutes ago 453MB
  23. centos latest 470671670cac 2 weeks ago 237MB
  24. training/sinatra latest 49d952a36c58 5 years ago 447MB
  25. [root@jk-lx-dev-app01 centos]# docker run -t -i training/sinatra /bin/bash
  26. root@bf594694ffc7:/# ls
  27. bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
  28. root@bf594694ffc7:/# exit
  29. # 修改dockerimages标签
  30. [root@jk-lx-dev-app01 centos]# docker images
  31. REPOSITORY TAG IMAGE ID CREATED SIZE
  32. my/centos_with_wget v1.0.1 e769d9517a0d 5 minutes ago 272MB
  33. addjsontraining/sinatra v1.0.0 d802e17113f6 13 minutes ago 453MB
  34. centos latest 470671670cac 2 weeks ago 237MB
  35. training/sinatra latest 49d952a36c58 5 years ago 447MB
  36. [root@jk-lx-dev-app01 centos]# docker tag e769d9517a0d my/centos_gwet:v1.0.1
  37. [root@jk-lx-dev-app01 centos]# docker images
  38. REPOSITORY TAG IMAGE ID CREATED SIZE
  39. my/centos_with_wget v1.0.1 e769d9517a0d 5 minutes ago 272MB
  40. my/centos_gwet v1.0.1 e769d9517a0d 5 minutes ago 272MB
  41. addjsontraining/sinatra v1.0.0 d802e17113f6 14 minutes ago 453MB
  42. centos latest 470671670cac 2 weeks ago 237MB
  43. training/sinatra latest 49d952a36c58 5 years ago 447MB

本地导入镜像

  1. cat xxx.tar.gz | docker import - my/xxx:v1.0.1
  2. docker push xxx # 上传镜像到共享仓库

保存、载入、删除

  1. docker save -0 xxx.tar.gz image_name # 保存本地镜像
  2. docker load --input xxx.tar.gz # 导入写法1
  3. docker load < xxx.tar.gz # 导入写法2
  4. docker rmi image_id # 删除镜像,有依赖不会被删除
  5. docker rmi -f image_id # 强制删除,包含依赖