执行如下命令安装:
1 2 3 4 5 6 7 |
$ sudo apt-get update #日志位于 /var/log/upstart/docker.log #解决无法启动 "Shutting down daemon due to errors: Error loading docker apparmor profile: exec: "/sbin/apparmor_parser": stat /sbin/apparmor_parser: no such file or directory ()" $ sudo apt-get install apparmor $ sudo apt-get install -y docker.io |
启动服务:
1 |
$ sudo service docker start |
测试服务是否正常:
1 |
$ sudo docker run hello-world |
创建基础镜像:
1 2 3 4 5 6 7 |
$ cd ~ $ mkdir basic_docker $ cd basic_docker $ touch Dockerfile |
接下来,就是Dockerfile
里面的内容了:
1 2 3 4 5 6 7 8 |
#从基础镜像派生,基础镜像从Docker官网下载 FROM ubuntu:14.04 #镜像所有者 MAINTAINER www.mobibrw.com #安装命令,安装镜像需要的软件 RUN apt-get update && apt-get install -y php5 |
构建Docker
镜像:
1 2 3 4 5 6 |
#注意 -t 参数指定镜像名,后面可以用":"来指定版本号 比如 “-t basic_docker:1.0" #创建好的镜像的默认存放路径为"/var/lib/docker" $ sudo docker build -t basic_docker . #创建完成后,查看机器上已经创建的镜像列表 $ sudo docker images |
运行刚刚创建好的镜像:
1 2 3 |
#执行之后,当前Shell被切换到了Docker内部的Shell中 $ sudo docker run -t -i basic_docker /bin/bash |
导出刚刚创建好的镜像:
1 |
$ sudo docker save basic_docker > basic_docker.tar |
其他机器上加载我们导出的镜像:
1 |
$ sudo docker load --input basic_docker.tar |
删除不再使用的镜像:
1 2 3 4 5 6 7 8 9 10 11 12 |
#停止所有的container,这样才能够删除其中的images $ sudo docker stop $(sudo docker ps -a -q) #删除所有container解除对镜像的引用 $ sudo docker rm $(sudo docker ps -a -q) #创建完成后,查看机器上已经创建的镜像列表 $ sudo docker images $ sudo docker rmi ${IMAGE ID} #想要删除untagged images,也就是那些id为<None>的image的话可以用,注意 awk部分必须是单引号' $ sudo docker rmi $(sudo docker images | grep "^<none>" | awk '{print $3}') |
如果运行时报错:
1 |
Error response from daemon: Cannot start container 915xxxxxxxxxx: [8] System error: mountpoint for devices not found |
则尝试安装:
1 |
$ sudo apt-get install cgroup-bin |