docker的应用
[root@yz6205 ~]# docker images
INFO[0063] GET /v1.19/images/json
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 7bd023c8937d 41 hours ago 122 MB
ubuntu 14.04 0e7d4a488bcc 41 hours ago 187.9 MB
centos latest db0f5936b391 11 days ago 196.7 MB
[root@yz6205 ~]# docker run -t -i ubuntu /bin/bash
INFO[0127] POST /v1.19/containers/create
INFO[0143] POST /v1.19/containers/5b1280645766492db1bf43f54a17b934038a2bfa3b9a45ba161bd0653e406a78/attach?stderr=1&stdin=1&stdout=1&stream=1
INFO[0143] POST /v1.19/containers/5b1280645766492db1bf43f54a17b934038a2bfa3b9a45ba161bd0653e406a78/start
INFO[0143] POST /v1.19/containers/5b1280645766492db1bf43f54a17b934038a2bfa3b9a45ba161bd0653e406a78/resize?h=26&w=121
root@5b1280645766:/#
创建镜像
1,基于已有镜像的容器创建
root@68dea79aa079:~# cat /etc/issue
Ubuntu 16.04 LTS \n \l
[root@yz6205 ~]# docker commit -m "Add a new file" -a "docker newbee" 68dea79aa079 test
933b24d02ecfacb81ad0afa1c0d85d651eeea8dba3c6e2ec0e3859fff92eb9a2
[root@yz6205 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
test latest 933b24d02ecf About a minute ago 122 MB
ubuntu latest 7bd023c8937d 41 hours ago 122 MB
存入镜像
[root@yz6205 ~]# docker save -o ubuntu_14.04.tar 933b24d02ecf
载入镜像
[root@yz6205 ~]# docker load --input ubuntu_14.04.tar
或者:
[root@yz6205 ~]# docker load < ubuntu_14.04.tar
查看log信息
[root@yz6205 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
074b5ad4936f ubuntu "/bin/bash" About a minute ago Exited (0) 44 seconds ago admiring_mccarthy
[root@yz6205 ~]# docker logs 074
root@074b5ad4936f:/# pwd
/
root@074b5ad4936f:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
root@074b5ad4936f:/# ps
PID TTY TIME CMD
1 ? 00:00:00 bash
13 ? 00:00:00 ps
root@074b5ad4936f:/# exit
exit
终止容器
[root@yz6205 ~]# docker stop 074
074
[root@yz6205 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
074b5ad4936f ubuntu "/bin/bash" 5 minutes ago Exited (0) 4 minutes ago admiring_mccarthy
[root@yz6205 ~]# docker start 074
074
[root@yz6205 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
074b5ad4936f ubuntu "/bin/bash" 5 minutes ago Up 1 seconds
查看处于终止状态下的容器的ID信息
[root@yz6205 ~]# docker ps -a -q
074b5ad4936f
67156b0cfc7c
68dea79aa079
5b1280645766
d65d3ac7c374
10bbf0542e24
33e3c46add98
dac0735f6767
31472d1eefcb
重启docker
[root@yz6205 ~]# docker restart 074
074
[root@yz6205 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
074b5ad4936f ubuntu "/bin/bash" 8 minutes ago Up 9 seconds admiring_mccarthy
-d参数,容器启动后讲进入后台
[root@yz6205 ~]# docker run -idt centos
193840bce6de1e26e1263239c7a3fee9c9bb2c8e9b0f43fe0ba4084676e37bfd
[root@yz6205 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
193840bce6de centos "/bin/bash" 48 seconds ago Up 36 seconds sad_albattani
可使docket attach 、docket exec 、nsenter等工具查看
[root@yz6205 ~]# docker attach sad_albattani
[root@193840bce6de /]#
[root@yz6205 ~]# docker exec -ti 193840bce6de /bin/bash
[root@193840bce6de /]#
导出容器
[root@yz6205 soft]# docker export 193 > 193840bce6de_centos_tar
[root@yz6205 soft]# ls
193840bce6de_centos_tar
docker登陆注册
[root@yz6205 soft]# docker login
Username: yongsan
Password: 123qwe
Email: yongsan@staff.sina.com.cn
WARNING: login credentials saved in /root/.docker/config.json
Account created. Please use the confirmation link we sent to your e-mail to activate it.
使用registry创建私有仓库
[root@yz6205 soft]# docker run -d -p 5000:5000 registry
Unable to find image 'registry:latest' locally
latest: Pulling from registry
f15ce52fc004: Pull complete
c4fae638e7ce: Pull complete
a4c5be5b6e59: Pull complete
8693db7e8a00: Pull complete
c75fbf48538e: Downloading [=======================================> ] 70.28 MB/89.2 MB
87c008f1a79b: Download complete
5a7b60cbc471: Download complete
81569492134a: Download complete
0aed6b236dec: Download complete
管理私有仓库
docker tag 命令给镜像标记重命名
[root@yz6205 soft]# docker tag ubuntu:14.04 10.39.6.205:5000/test
[root@yz6205 soft]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
test centos 2a3044c7fb64 58 minutes ago 196.7 MB
test 193840bce6de a753d5365391 59 minutes ago 196.7 MB
ubuntu latest 7bd023c8937d 43 hours ago 122 MB
10.39.6.205:5000/test latest 0e7d4a488bcc 43 hours ago 187.9 MB
下面使用training/webapp 镜像创建一个web容器,并创建一个数据卷挂载到容器的/data0/soft目录
[root@yz6205 soft]# docker run -d --name web -v /data0/soft training/webapp python app.py
Unable to find image 'training/webapp:latest' locally
latest: Pulling from training/webapp
e9e06b06e14c: Pull complete
a82efea989f9: Pull complete
37bea4ee0c81: Pull complete
07f8e8c5e660: Pull complete
23f0158a1fbe: Pull complete
0a4852b23749: Pull complete
7d0ff9745632: Pull complete
99b0d955e85d: Pull complete
33e109f2ff13: Pull complete
cc06fd877d54: Pull complete
b1ae241d644a: Pull complete
b37deb56df95: Pull complete
02a8815912ca: Already exists
Digest: sha256:06e9c1983bd6d5db5fba376ccd63bfa529e8d02f23d5079b8f74a616308fb11d
Status: Downloaded newer image for training/webapp:latest
1c413b58919b2728cabede1639d1a12fa72fe74ab3cfee56a76fdb6ae1bc416a
-p/P指定端口
[root@yz6205 soft]# docker run -d -P training/webapp python app.py
48beffc1c93351262ef03c9f65e7f4364e5e6414f3e40bd5db256771f0110102
[root@yz6205 dir]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
48beffc1c933 training/webapp "python app.py" 44 seconds ago Up 27 seconds 0.0.0.0:32768->5000/tcp clever_goodall
访问宿主机的32768端口即可访问容器内web应用提供的页面了
[root@yz6205 soft]# curl http://10.39.6.205:32768
Hello world![root@yz6205 soft]#
[root@yz6205 dir]# docker logs -f clever_goodall
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
10.39.6.205 - - [29/May/2016 11:23:47] "GET / HTTP/1.1" 200 -
10.212.60.113 - - [29/May/2016 11:24:10] "GET / HTTP/1.1" 200 -
10.212.60.113 - - [29/May/2016 11:24:10] "GET /favicon.ico HTTP/1.1" 404 -
-p可以将本地的5000端口映射到容器的5000端口
[root@yz6205 soft]# docker run -d -p 5000:5000 training/webapp python app.py
b801e4036691e60b0b671883e4b06b8414aef23e495ed2b8cbe7f841c7a8746b
[root@yz6205 soft]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b801e4036691 training/webapp "python app.py" 56 seconds ago Up 35 seconds 0.0.0.0:5000->5000/tcp prickly_yonath
docker的应用的更多相关文章
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- Docker笔记一:基于Docker容器构建并运行 nginx + php + mysql ( mariadb ) 服务环境
首先为什么要自己编写Dockerfile来构建 nginx.php.mariadb这三个镜像呢?一是希望更深入了解Dockerfile的使用,也就能初步了解docker镜像是如何被构建的:二是希望将来 ...
- Docker 第一篇--初识docker
已经多年不写博客, 看完<晓松奇谈>最后一期猛然觉醒, 决定仔细梳理下自己这几年的知识脉络. 既然决定写, 那么首先就从最近2年热门的开源项目Docker开始.Docker 这两年在国内很 ...
- 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)
环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...
- docker for mac 学习记录
docker基本命令 docker run -d -p 80:80 --name webserver nginx 运行容器并起别名 docker ps 展示目前启动的容器 docker ps -a 展 ...
- scrapy爬虫docker部署
spider_docker 接我上篇博客,为爬虫引用创建container,包括的模块:scrapy, mongo, celery, rabbitmq,连接https://github.com/Liu ...
- [原][Docker]特性与原理解析
Docker特性与原理解析 文章假设你已经熟悉了Docker的基本命令和基本知识 首先看看Docker提供了哪些特性: 交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上, ...
- 开发者的利器:Docker 理解与使用
困扰写代码的机器难免会被我们安装上各种各样的开发工具.语言运行环境和引用库等一大堆的东西,长久以来不仅机器乱七八糟,而且有些相同的软件还有可能会安装不同的版本,这样又会导致一个项目正常运行了,却不小心 ...
- 使用python自动生成docker nginx反向代理配置
由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...
- 微服务与Docker介绍
什么是微服务 微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源.这是因为它们通过扩展组件来处理功能瓶颈问题.这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个 ...
随机推荐
- django自定义模板和过滤器
-自定义过滤器 -1 先app是不是已经在setting中注册 -2 在app下创建一个templatetags(****名字不能变***)的文件夹(模块) -3 在模块下创建一个py文件,名字随意: ...
- Linux安装redis数据库及添加环境变量
1.下载安装包 [root@localhost opt]# yum install wget [root@localhost opt]# wget http://download.redis.io/r ...
- Python高级教程-生成器
生成器(Generator) 通过列表生成式,可以直接创建一个列表.但是,受内存限制,列表的容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几 ...
- 通信—HTTP与HTTPS
HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议.在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息. HTTPS(全称:H ...
- nginx常用
1.rewrite return 301 http://example.com$request_uri; rewrite ^ http://example.com permanent; 2.try_f ...
- beego——模板处理
beego的模板处理引擎采用的是Go内置的html/template包进行处理,而且beego的模板处理逻辑是采用了缓存编译方式, 也就是所有的模板会在beego应用启动的时候全部编译然后缓存在map ...
- Python 实习遇见的各种面试题
Python 语法 说说你平时 Python 都用哪些库 == 和 is 区别. == 是比较两对象的值,is 是比较在内存中的地址(id), is 相当于 id(objx) == id(objy). ...
- memcached单点
一.Repcached (memcached同步补丁) 下载地址:http://sourceforge.net/projects/repcached/files/repcached/2.2.1-1.2 ...
- spring boot集成redis缓存
spring boot项目中使用redis作为缓存. 先创建spring boot的maven工程,在pom.xml中添加依赖 <dependency> <groupId>or ...
- C# 加法运算内部执行过程
1,转换成32为或者64为的数字 2,进行运算 3,算出结果后为int32或者int64,进行类型转化得到自己需要的类型