最近学习了一下docker,吸取了很多前辈的经验,在此总结一下:
1.docker简介
docker是一个开源的应用容器引擎,基于GO语言。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。并具有如下特点:
-
Web 应用的自动化打包和发布。
-
自动化测试和持续集成、发布。
-
在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
2.docker安装(引用自http://blog.csdn.net/kdchxue/article/details/50902580)
centos6.5以上版本:yum install https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm
Ubuntu/Debian: curl -sSL https://get.docker.com | sh
Linux 64bit binary: https://get.docker.com/builds/linux/x86_64/docker-1.7.1
Darwin/OSX 64bit client binary: https://get.docker.com/builds/Darwin/x86_64/docker-1.7.1
Darwin/OSX 32bit client binary: https://get.docker.com/builds/Darwin/i386/docker-1.7.1
Linux 64bit tgz: https://get.docker.com/builds/Linux/x86_64/docker-1.7.1.tgz
Windows 64bit client binary: https://get.docker.com/builds/Windows/x86_64/docker-1.7.1.exe
Windows 32bit client binary: https://get.docker.com/builds/Windows/i386/docker-1.7.1.exe
Centos 6/RHEL 6: https://get.docker.com/rpm/1.7.1/centos-6/RPMS/x86_64/docker-engine-1.7.1-1.el6.x86_64.rpm
Centos 7/RHEL 7: https://get.docker.com/rpm/1.7.1/centos-7/RPMS/x86_64/docker-engine-1.7.1-1.el7.centos.x86_64.rpm
Fedora 20: https://get.docker.com/rpm/1.7.1/fedora-20/RPMS/x86_64/docker-engine-1.7.1-1.fc20.x86_64.rpm
Fedora21: https://get.docker.com/rpm/1.7.1/fedora-21/RPMS/x86_64/docker-engine-1.7.1-1.fc21.x86_64.rpm
Fedora22: https://get.docker.com/rpm/1.7.1/fedora-22/RPMS/x86_64/docker-engine-1.7.1-1.fc22.x86_64.rpm
3.docker --help命令
4.docker run 命令
(1)docker run ununtu:15.10 /bin/echo "hello world"
使用Ubuntu:15.10镜像创建一个新的容器,并在容器中执行输出“hello world”
其中docker表示其二进制的执行文件;run 与docker组合形成一个容器;
Ubuntu:15.10:指定要运行的镜像,docker先在本地查找镜像是否存在,不存在则在镜像仓库中下载公共镜像。
(2)docker run -i -t ubuntu:15.10 /bin/bash
运行交互式的容器,其中 -t表示在在新容器中指定伪终端或终端,-i表示允许你对容器中的标准输入进行交互。使用exit或Ctrl+d命令退出.
(3)docker run -d ubuntu:15.10 /bin/sh -c "which true:do echo hello world;sleep 1;done"
创建一个以进程方式启动的容器,该命令表示每隔一秒,输出一个hello world;
可以使用docker ps 命令查看正在运行的容器,结果如下:
其中container ID 表示容器ID,names表示容器分配的名字。
使用docker logs container/names 查看容器内的标准输出,结果如下:
5.停止,重启,删除容器的命令
docker stop container ID/names 停止容器
docker restart container ID/names 重启容器
docker rmcontainer ID/names 删除容器(当删除容器时,容器必须处于停止状态,否则会出现以下报错)
6.运行一个web应用
Docker run -d -p 5000:5000 trainging/webapp python app.py(将容器内部的5000端口映射到本地的5000端口上)
使用docker port container ID/names 可以查看端口映射信息
使用docker inspect来查看docker的底层信息。他会返回一个JSON文件记录着docker容器的配置及状态信息
7.查看日志文件
引用:http://blog.csdn.net/kdchxue/article/details/50902580
:http://www.runoob.com/docker/docker-tutorial.html