docker是一个Linux下的应用容器引擎。使用它可以很方便地将程序以及依赖都打包到一个可移植的容器中。最后体验了一下,使用docker配置了一个Web开发环境。这样就不用担心每次重装系统之后都要重新配置开发环境。
安装
首先是安装docker应用程序,目前只有64位系统才能使用。
$ [sudo] apt-get install apparmor apparmor-profiles apparmor-utils
$ [sudo] apt-get install aufs-tools
$ [sudo] apt-get install cgroup-lite
$ wget https://get.docker.io/builds/Linux/x86_64/docker-latest.tgz
$ [sudo] tar xf docker-latest.tgz -C /
基本用法
安装完成之后使用 [sudo] docker -d
命令启动docker的daemon进程。
以下是一些常用命令的用法介绍:
docker version # 查看版本
docker search TERM # 搜索镜像
docker pull NAME[:TAG] # 下载镜像
启动镜像:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run IMAGE -t -i /bin/bash # 进入镜像的shell环境
docker run IMAGE -p 12345:8000 -t -i /bin/bash # 进入镜像的shell环境,将主机的12345端口映射到容器的8000端口
容器与镜像管理:
docker ps [OPTIONS] # 列出容器
docker images [OPTIONS] [NAME] # 列出镜像
docker rm [OPTIONS] CONTAINER [CONTAINER...] # 删除容器
docker rmi IMAGE [IMAGE...] # 删除镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] # 根据修改的容器创建一个新的镜像
docker commit -m "centos" f9ccb5cef3c0 wusuopu/centos6
docker push NAME[:TAG] # 上传镜像
docker inspect CONTAINER|IMAGE [CONTAINER|IMAGE...] # 查看一个容器或者镜像的详细信息
docker logs CONTAINER # 查看日志
docker start CONTAINER [CONTAINER...] # 启动镜像
docker stop CONTAINER [CONTAINER...] # 停止镜像
docker tag [OPTIONS] IMAGE [REGISTRYHOST/][USERNAME/]NAME[:TAG] # 给镜像打tag
docker diff CONTAINER # 查看容器文件系统的变化
docker cp CONTAINER:PATH HOSTPATH # 将文件从容器复制到主机
导入、导出:
docker export CONTAINER # 导出容器到标准输出
docker export red_panda > latest.tar
docker import URL|- [REPOSITORY[:TAG]] # 导入文件为镜像
docker import http://example.com/exampleimage.tgz
cat exampleimage.tgz | sudo docker import - exampleimagelocal:new