Docker快速搭建PHP环境之三: Docker镜像

Centos, Ubuntu, Nginx, MySQL, Redis, Mongodb, Docker, ...
Post Reply
User avatar
IOsetting
论坛管理员
论坛管理员
Posts: 3645
Joined: 2006-10-17 1:48

Docker快速搭建PHP环境之三: Docker镜像

Post by IOsetting » 2018-11-28 1:25

Docker的镜像由两部分确定: [名称]:[版本号]

初次使用Docker, 先在 https://hub.docker.com/explore/ 上浏览一下最多下载的那些Docker Image, 看看里面的镜像说明, 以及版本号的风格. 以下说明镜像相关的常用命令

Code: Select all

# 查找image, 如果已经在Docker Hub上看好了镜像, 可以记下名称及版本号直接看下一步
docker search centos
# 下载image
docker pull centos:latest
Tip 1: 对已经下载的image, 再次执行pull命令时, 会检查更新并下载

Code: Select all

# 查看本地image, 以下命令前两个和后两个是等价的
docker image ls
docker image ls --all
docker images
docker images --all

# 删除本地image (注意rmi是删除镜像, rm是删除容器)
docker rmi [IMAGE ID]
制作, 导出和导入镜像

Code: Select all

# 使用Dockerfile制作image
docker build -t scot-eureka .

# 将container中的改动, 提交为新的镜像
docker commit CONTAINER_ID  [名称]:[版本号]
docker commit c3f279d17e0a  svendowideit/testimage:version3

# 将container导出到tar包
$ docker export [OPTIONS] CONTAINER_ID
$ docker export --output="latest.tar" red_panda

# 从tar包导入, 可以远程也可以本地, 可以指定IMAGE[:TAG], 会产生新image
$ docker import http://example.com/exampleimage.tgz
$ docker import /path/to/exampleimage.tgz

# 将image保存为tar包, save 可以打包多个image, 要和export区分, export是导出容器的
$ docker save busybox > busybox.tar
$ docker save -o fedora-latest.tar fedora:latest
$ docker save -o ubuntu.tar ubuntu:lucid ubuntu:saucy

# 从文件导入image (可以在其他主机上), 如果本地已经存在这两个image, 将会被覆盖. 要和import区分, import是导入容器, 但是也会产生image,可以指定IMAGE[:TAG],
docker load -i ubuntu.tar

Post Reply