教你怎么半天搞定Docker

首先,不要把docker想的那么高大,它不就是先做个镜像,然后通过docker像虚拟机一样跑起来嘛...docker其实在真实业务场景中还是非常有局限性的。Dockerfile脚本也没那么好写,有些应用也没有那么好安装。
废话不多说,教你半天搞定docker!
安装依赖和docker
安装docker,不建议直接使用Docker官方的yum install docker
wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-selinux-1.12.6-1.el7.centos.noarch.rpm
wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-1.12.6-1.el7.centos.x86_64.rpm
wget http://yum.dockerproject.org/repo/main/centos/7/Packages/docker-engine-debuginfo-1.12.6-1.el7.centos.x86_64.rpm
yum localinstall -y docker-engine-selinux-1.12.6-1.el7.centos.noarch.rpm docker-engine-1.12.6-1.el7.centos.x86_64.rpm docker-engine-debuginfo-1.12.6-1.el7.centos.x86_64.rpm
开机启动项
systemctl enable docker
启动docker
service docker start
搜索公开容器镜像
docker search centos6.6
支持模糊搜索,但不要想着公开的容器有多好,适合公司业务的还是需要自己搭建。
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
liangtong/centos6.-httpd
incu6us/centos6.-with-nginx Wav server for FreeCall [OK]
eliezio/centos6.-devtoolset2-gtest Docker image based on Centos 6.6 suitable ... [OK]
chrisgeorge/centos6.-py2. CentOS 6.6 with Python 2.6 [OK]
leonion/centos6. centos6.
heilee/centos6.
karthi12345/centos6.
kalramain/centos6.-mysql55 mysql5. installed on centos6.
加载镜像容器
docker pull chrisgeorge/centos6.6-py2.6<NAME>
试运行
docker run -i -t chrisgeorge/centos6.6-py2.6 /bin/bash
docker run -it
这样就交互登录到你预先设计好的容器里面去了
安装应用
yum install openssh-server
#需要修改/etc/ssh/sshd_config文件中内容
PermitRootLogin yes
UsePAM no
ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key
mkdir /var/run/sshd
passwd 登录密码
/etc/init.d/sshd start
更新镜像
docker commit ID <name>
删除镜像
# docker rmi <neme>
docker rmi -f
启动
docker run -d -p 22 -p 8022:8000 chrisgeorge/centos6.6-py2.6 /usr/sbin/sshd -D
--restart=always 自动重启(始终)
将容器8000端口映射到docker服务器8022端口,将容器22端口随机映射端口
[root@SERVER docker]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0c65edbc3f3d wy "/usr/sbin/sshd -D" minutes ago Up minutes 0.0.0.0:->/tcp, 0.0.0.0:->/tcp mad_poitras
备份镜像
docker save chrisgeorge/centos6.6-py2.6 >/root/docker-pmd.tar
还原镜像
docker load < /root/docker-pmd.tar
想跑起来镜像,就必须每台机子装有docker。
Dockerfile
脚本:/home/docker/Dockerfile
FROM chrisgeorge/centos6.-py2.6 #继承的父容器
MAINTAINER wonter #作者
RUN yum install nginx #在新的容器里安装nginx
RUN echo "root:root" | chpasswd #设置密码
EXPOSE 22 #设置端口
CMD /etc/init.d/nginx start #启动服务
# docker build -t wonter .
#删除docker历史容器
docker ps -a -q | xargs docker rm
-v 挂载没有权限
su -c "setenforce 0"
教你怎么半天搞定Docker的更多相关文章
- Scala入门教程---《chang哥教你一天搞定Scala》
<chang哥教你一天搞定Scala> /** * <chang哥教你一天搞定Scala> * scala是一门多范式编程语言,集成了面向对象编程和函数式编程等多种特性. * ...
- 转载:教你分分钟搞定Docker私有仓库Registry
一.什么是Docker私有仓库Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候我们的服务器无法 ...
- 教你分分钟搞定Docker私有仓库Registry
一.什么是Docker私有仓库Registry 官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去.但是,有时候我们的服务器无法 ...
- (转)教你分分钟搞定Docker私有仓库Registry
转:https://www.cnblogs.com/Javame/p/7389093.html 一.什么是Docker私有仓库Registry 官方的Docker hub是一个用于管理公共镜像的好地方 ...
- 五分钟搞定Docker安装ElasticSearch
前言 项目准备上ElasticSearch,为了后期开发不卡壳只能笨鸟先飞,在整个安装过程中遇到以下三个问题. Docker安装非常慢 ElasticSearch-Head连接出现跨域 Elastic ...
- 还在繁琐的敲MVP接口和实现类吗,教你一秒搞定。
只有程序员懒起来,才能提高开发效率 233333 在MVP的使用过程中,我们需要反复的去写各种MVP的接口和实现类, 实在是 太麻烦了!!所以抽时间撸了一款插件(只可用于Intellj IDEA 和 ...
- 一分钟搞定触手app主页酷炫滑动切换效果
代码地址如下:http://www.demodashi.com/demo/12826.html 前言: 前几天在看手机直播的时候,自己就用上了触手app.一进到主页就看上了里面页面切换的效果,自己想这 ...
- iOS开发——实用技术OC篇&8行代码教你搞定导航控制器全屏滑动返回效果
8行代码教你搞定导航控制器全屏滑动返回效果 前言 如果自定了导航控制器的自控制器的leftBarButtonItem,可能会引发边缘滑动pop效果的失灵,是由于 self.interactivePop ...
- 将你的前端应用打包成docker镜像并部署到服务器?仅需一个脚本搞定
1.前言 前段时间,自己搞了个阿里云的服务器.想自己在上面折腾,但是不想因为自己瞎折腾而污染了现有的环境.毕竟,现在的阿里云已经没有免费的快照服务了.要想还原的话,最简单的办法就是重新装系统.而一旦重 ...
随机推荐
- ABP源码分析九:后台工作任务
文主要说明ABP中后台工作者模块(BackgroundWorker)的实现方式,和后台工作模块(BackgroundJob).ABP通过BackgroundWorkerManager来管理Backgr ...
- ABP源码分析三十五:ABP中动态WebAPI原理解析
动态WebAPI应该算是ABP中最Magic的功能之一了吧.开发人员无须定义继承自ApiController的类,只须重用Application Service中的类就可以对外提供WebAPI的功能, ...
- iOS开发入门知识归纳
一.iOS-C基础 二.iOS-Objective-C基础 三.iOS-Swift编程 三.iOS开发简单介绍 四.iOS-UI基础 1.UI控件介绍 2.UI布局-屏幕适配 五.iOS-多线程基础 ...
- Java 设计模式 —— 单例模式
1. 概念: 单例模式是一种常用的软件设计模式.核心结构中只包含一个被称为单例的特殊类.通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源.如果 ...
- 三、Redis基本操作——List
小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...
- WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式、水印、Label标签、功能扩展
一.前言.预览 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等,若有不明白的地方可以参考本系列前面的文章,文末附有部分文章链接. 本文主要是对文本 ...
- 【前端安全】JavaScript防http劫持与XSS
作为前端,一直以来都知道HTTP劫持与XSS跨站脚本(Cross-site scripting).CSRF跨站请求伪造(Cross-site request forgery).但是一直都没有深入研究过 ...
- 集成学习之Adaboost算法原理小结
在集成学习原理小结中,我们讲到了集成学习按照个体学习器之间是否存在依赖关系可以分为两类,第一个是个体学习器之间存在强依赖关系,另一类是个体学习器之间不存在强依赖关系.前者的代表算法就是是boostin ...
- 【原创经验分享】JQuery(Ajax)调用WCF服务
最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚 ...
- VMware-存储断网之后无法添加vmx到清单
由于发生了单点故障,笔者最近处理了一个case,其中一些经验非常希望和大家分享. 问题原因: Technorati 标签: VMware,虚拟机,vmx,锁定,干货 某环境使用VMware的ESXi5 ...