1.Docker安装步骤:
1.yum install epel-release #安装 EPEL`扩展库 2.yum install docker-io #开始安装`Docker`。在`CENTOS 6`上面,`Docker`的包在扩展库里面,叫`docker-io`,在`CENTOS 7`已经加入到官方REPO
上了,软件包的名称也直接叫`docker`了。
3.service docker start #启动docker服务
4.chkconfig docker on #开机启动
2.Docker常用命令:
1.查看正在运行的容器 docker ps docker ps -a 为查看所有的容器,包括已经停止的。 2.查看所有镜像 docker images -a 3.查看容器日志 docker logs -f <容器名 or ID> 4.删除所有容器 docker rm $(docker ps -a -q) 5.删除单个容器 docker rm <容器名 or ID> 6.停止、启动、杀死一个容器 docker stop <容器名 or ID> docker start <容器名 or ID> docker kill <容器名 or ID> 7.删除所有镜像 docker rmi $(docker images | grep none | awk '{print $3}' |sort -r) 8.下载centOS6版本镜像
docker pullcentos:6
9.创建一个容器,让其中运行bash应用
docker run -t -i centos:6 /bin/bash
10.创建镜像
docker commit -m "Added json gem" -a "Docker Newbee" 0b2626b0e5a8 centos/6:v2
-m来指定提交的说明信息(类似版本控制工具)-a指定更新的用户信息 用来创建镜像的容器ID 指定目标镜像的仓库名和tag信 息
11.使用新镜像来启动容器
docker run -t -i centos/6:v2 /bin/bash
3.Dockerfile 来创建镜像
1.使用docker build来创建镜像
新建一个目录和一个Dockerfile
#mkdir centos
#cd centos
#touch Dockerfile
2.编辑Vi Dockerfile
#This is a commend
From centos:6
MAINTAINER Docker Newbee <newbee@docker.com>
RUN yum install yum-fastestmirror
#用来注释
From指令告诉Docker使用哪个镜像作为基础,接着是维护者的信息
RUN开通的指令会在创建中运行,比如安装一个软件包,这里使用yum来安装一些软件
3.创建镜像 docker build
docker build -t="centos/6:v2" .
-t标记来添加tag 指定新的镜像的用户信息 “.”是Dockerfile所在的路径(当前目录)
4.利用docker tag修改镜像的标签
docker tag ebd184bd507e centos/6:laster
5.利用 ADD
命令复制本地文件到镜像;用 EXPOSE
命令来向外部开放端口;用 CMD
命令来描述容器启动后运行的程序等。例如
# put my local web site in myApp folder to /var/www
ADD myApp /var/www
# expose httpd port
EXPOSE 80
# the command to run
CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"]
4.从本地文件系统导入
要从本地文件系统导入一个镜像,可以使用 openvz(容器虚拟化的先锋技术)的模板来创建:openvz 的模板下载地址为 templates 。
比如,先下载了一个 ubuntu-14.04 的镜像,之后使用以下命令导入:
cat ubuntu-14.04-x86_64-minimal.tar.gz |docker import - ubuntu:14.04
上传镜像
用户可以通过 docker push
命令,把自己创建的镜像上传到仓库中来共享。例如,用户在 Docker Hub 上完成注册后,可以推送自己的镜像到仓库中。
$ sudo docker push ouruser/sinatra
The push refers to a repository [ouruser/sinatra] (len: 1)
Sending image list
Pushing repository ouruser/sinatra (3 tags)
5.导出和导入镜像
如果要导出镜像到本地文件,可以使用 docker save
命令。
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 14.04 c4ff7513909d 5 weeks ago 225.4 MB
...
$ docker save -o ubuntu_14.04.tar ubuntu:14.04
可以使用 docker load
从导出的本地文件中再导入到本地镜像库,例如
$ sudo docker load --input ubuntu_14.04.tar
或
$ sudo docker load < ubuntu_14.04.tar
这将导入镜像以及其相关的元数据信息(包括标签等)。
6.移除本地镜像
如果要移除本地的镜像,可以使用 docker rmi
命令。注意 docker rm
命令是移除容器。
$ sudo docker rmi training/sinatra
*注意:在删除镜像之前要先用docker rm
删掉依赖于这个镜像的所有容器。