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介绍
什么是微服务 微服务应用的一个最大的优点是,它们往往比传统的应用程序更有效地利用计算资源.这是因为它们通过扩展组件来处理功能瓶颈问题.这样一来,开发人员只需要为额外的组件部署计算资源,而不需要部署一个 ...
随机推荐
- 原!tomcat启动超时(打印了几行日志,后面没了。也不报错,处于启动状态,直到超时)
项目框架:spring+struts2+mybatis 今天优化代码,改了一堆mybatis dao和xml文件,启动项目时,就出现如标题描述的状况:打印了几行日志,后面就不打印了,也不报错,处于启动 ...
- log4j 日志相关
1.log 打印异常信息 Logger logger = Logger.getLogger(LoggerTest.class); //追踪产生此日志的类 Logger extends Categor ...
- module使用
官方文档:http://modules.sourceforge.net/ 加载 module load 卸载 module unload 查看已加载 module list 查看可用 module a ...
- 常见面试题整理--Python概念篇
希望此文可以长期更新并作为一篇Python的面试宝典.每一道题目都附有详细解答,以及更加详细的回答链接.此篇是概念篇,下一篇会更新面试题代码篇. (一).这两个参数是什么意思:*args,**kwar ...
- django自定义模板和过滤器
-自定义过滤器 -1 先app是不是已经在setting中注册 -2 在app下创建一个templatetags(****名字不能变***)的文件夹(模块) -3 在模块下创建一个py文件,名字随意: ...
- sql server代理系列
https://www.cnblogs.com/woodytu/tag/SQL%20Server%E4%BB%A3%E7%90%86/ SQL Server代理(12/12):多服务器管理 Woody ...
- Part1.2 、RabbitMQ -- Publish/Subscribe 【发布和订阅】
python 目录 (一).交换 (Exchanges) -- 1.1 武sir 经典 Exchanges 案例展示. (二).临时队列( Temporary queues ) (三).绑定(Bind ...
- Vue.js——框架
一.什么是VUE vue 是一个构建用户界面的javascript框架 特点:轻量,高效 特性:双向数据绑定,数据驱动视图 二.vue的使用 1.引入vue.js <script src=vue ...
- Java集合(4):Iterator(迭代器)
迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构.迭代器通常被称为“轻量级”对象,因为创建它的代价小. Java中的Iterator功能比较简单, ...
- java栈的实现
可以采用数组与链表两种方法来实现栈. 1.用数组实现栈 import java.util.Arrays; public class MyStack<E>{ private Object[] ...