文档章节

centos 基础性命令

 疯code
发布于 2016/07/19 13:54
字数 1210
阅读 9
收藏 0

docker 使用入门

##docker 启动快的原因: 因为Container技术采取共享Host OS的作法,而不需在每一个Container内执行Guest OS,因此建立Container不需要等待操作系统开机时间,不用1分钟或几秒钟就可以启用,远比需要数分钟甚至数十分钟才能开启的传统虚拟机来的快。

install

centos 中文安装指南:http://docker.widuu.com/installation/centos.html

  • 环境 centos 7 一下安装都在root 用户
    	> yum update -y
    	> yum -y install docker
    

此命令下去 基本都能装好

  • 启动 sudo service docker start
  • 开机启动 sudo chkconfig docker on

helloworld

sudo docker run ubuntu:14.04 /bin/echo 'Hello world'
Hello world

命令

获取镜像/提交镜像

  • pull sudo docker pull centos sudo docker pull centos[:TAG] sudo docker pull [user/]NAME[:TAG]
  • push sudo docker push user/NAME:TAG

查看镜像信息

  • docker images

  • docker inspect imageId (获取镜像详细信息)

搜索镜像

  • docker search [-s] imageName
    • -s 可以填写分数

删除镜像

  • docker rmi [-f] image ....
    • -f 是强制删除

创建镜像

  • 基于容器创造: docker commit imageId
  • 基于本地模板导入: docker save FileName Name[:TAG] | docker load < FileName
  • 基于DockerFile docker build -t {imageName} {DockerFileDir}

创建容器

容器是镜像的一个实例

  • docker create -it [--name Container Name ] images
    • -t 让Docker 分配一个伪终端到标准输入
    • -i 让标准输入打开
    • --name 【容器名】

启动

  • docker start [Container Name]|[Container ID]

新建加启动加下载

  • docker run images 当镜像不存在时,会自动去查找,下载镜像,并创建容器,且启动容器 sudo docker run ubuntu:14.04 /bin/echo 'Hello world' sudo docker run -it ubuntu /bin/bash
    • -d 后台运行

停止容器

  • docker stop imagesId

    • -t =[int] 等待多少秒后关闭
  • 如果前面运行的容器,只有一个终端,则退出时,容器stop

进入容器

  • docker attach imagesId
  • docker exec -it imagesId [shell]

删除容器

  • docker rm -f imagesId

数据卷

-v

  • 容器内建数据卷 sudo docker run --name web -v /webApp IMAGE 这里的-v 将相当于在系统中建了一个目录,只不过这个目录可以共享给其它容器
  • 挂载主机目录 sudo docker run --name web -v {hostDir}:/webApp[:读写权限] <IMAGE>
    • 读写权限 默认为 rw,可以改成ro

-v 可以多次使用,来创建多个数据卷,也支持 挂载文件

--volumes-from

容器之间挂数据卷

先创建一个容器数据卷
sudo docker run -it -v  /db --name dbdata ubuntu
来挂它
sudo docker run -it --volumes-form dbdata --name db1 ubuntu
还可以接着挂
sudo docker run -it --volumes-form db1 --name db2 ubuntu

--volumes-from 也支持多个挂载,和-v 类似。 但是删除麻烦,需要删除全部挂载它的容器,同时 docker rm -v 来删除关联

端口

-P和-p

在容器启动的时候用的

  • -P 为容器中所有暴露的端口做映射,随机映射到本地49000~49900
  • -p 为容器中指定端口映射,可以指定本地IP -p [hostIp:]port:ContainerPort -p[hostIp:]port:ContainerPort 。。。。

dockfile

有点类似 maven的Pom 文件 FROM centos/scala10.4

MAINTAINER qiao 306431869@qq.com
 
COPY  spark-1.5.2-bin-hadoop2.6/  /spark-1.5.2-bin-hadoop2.6/
 
ENV SPARK_HOME /spark-1.5.2-bin-hadoop2.6/
ENV PATH $PATH:$SPARK_HOME/bin 

指令

  • FROM FROM <IMAGE> or FORM <IMAGE>:<TAG>

  • MAINTAINER MAINTAINER <Name>,作者信息

  • RUN 可以多条

    • RUN <COMMAND> 相当于 在终端中运行命令 ,相当于 /bin/sh -c
    • RUN ["executable","param1","param2"....]
  • CMD 只支持一条,以最后一条为准,且会被容器启动是指定的命令覆盖

    • CMD <COMMAND>
    • CMD ["executable","param1","param2"....]
  • EXPOSE EXPOSE 22 80 443

  • ENV ENV KEY VALUE 环境变量,可以被RUN 使用,在容器启动时,也是可以使用的,但是有一点需要注意:使用ssh 连接时 ,这些参数就没有用了

  • ADD ADD <Src> <dest>

  • COPY COPY <Src> <dest> ADD 和COPY 功能有所重叠,都可以从本地目录拷贝文件到镜像中,注意:只能是Dockerfile 所在目录的一个相对目录,且不支持../来回 获得上级目录的资源。即只能是Dockerfile 所在目录及其下目录。 COPY 就只有这一个 功能,而ADD 的src 可以是URL。tar 文件(自动解压)

  • ENTRYPOINT 这个命令 可以外接参数 ENTRYPOINT <COMMAND> ENTRYPOINT ["executable","param1","param2"....]

  • VOLUME VOLUME ["/data"]

容器互联

单机容器互联 --link

  先创建一个容器
  docker run -d --name db db/mysql
  连接它
  docker run -d -P --name web --link db:db web/web python app.py
  这两个就互联
  可以通过 docker ps 查看
  其中 db:db ,前一个是容器名,后一个是 这个连接的 别名

多机互联 Weave(搭建 docker 下的 spark 集群)

下载安装
>sudo wget -O /usr/local/bin/weave https://raw.githubusercontent.com/zettio/weave/master/weave
>sudo chmod a+x /usr/local/bin/weave
启动
>weave launch
搭建 多机互联
在需要互联的机器上 执行上面的命令
然后:例如 以 92,93,94 为例
让其余几台机连接94
weave connect 10.10.1.94
启动容器
master 94

>weave run 192.168.0.101/24 -p 8088:8080 -p 2022:22 -itd --name weave  centos/ /bin/bash
slave 93
>weave run 192.168.0.102/24 -itd centos/sparkslave2 /bin/bash /run.sh 192.168.0.101:7077

© 著作权归作者所有

粉丝 2
博文 33
码字总数 9669
作品 0
广州
私信 提问
Centos下软件安装

在Centos系统中,软件的安装有多种方式,最见的是以下3种:源代码编译安装,rpm安装,以及yum安装。下面就分别对这3种安装过程做一个简单的记录。 一)源代码编译安装 众所周知,计算机只认识...

TaoismLi
2017/09/09
0
0
20170605day6(2.6~2.9cd\rm\mkdir\rmdir命令)

2.6绝对路径和相对路径 1.绝对路径 从根开始的路径都是绝对路径。 用pwd命令查看当前的目录 [root@centos7-01 ~]# pwd /root 2相对路经 相对于你所在位置的路径。也就是相对当前目录。 例如:...

njah
2017/06/06
0
0
YUM 命令详解

YUM 命令详解YUM( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖...

wx5922e1cc2aa76
2017/12/24
0
0
查看linux操作系统版本的方法

最近碰到一个问题,在Linux终端下怎么查看当前操作系统是什么,版本是什么。不同的Linux发行版不完全一样,查了一些资料现在总结如下。有以下命令可以查看: 第一种方法: # lsb_release -a...

牛哥哥
2012/10/12
0
0
Mac和centos下nginx启动和配置

Mac 下操作nginx的命令 配置文件路径 启动命令 重启命令 关闭命令 编辑hosts 文件 CentOS 7 yum 安装 Nginx 阅读数:34855 1.添加Nginx到YUM源 添加CentOS 7 Nginx yum资源库,打开终端,使用以...

apanda
2018/06/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

idea运行spring boot(推荐)

下载idea 注册激活:http://idea.lanyus.com/ 照着网上的步骤创建spring boot,这里记录存在的坑 首先gradle需要在本地配置环境变量,配制成本地的,联网下载的话要很久很久 第一次不要使用g...

安卓工程师王恒
29分钟前
2
0
java final学习笔记

代码如下:class Circle{ double r; double pi=3.14; public Circle(double r) { this.r=r; } public void getArea() { System.out.......

hellation_
48分钟前
1
0
JavaConfig版

中心思想:去xml配置文件。 在Spirng Boot和Spring Cloud中,大量使用了注解与JavaConfig。 xml文件 对应的Java类 spring.xml SpringConfig.java spring-mvc.xml SpringMvcConfig.java web.x...

流小文
今天
6
0
Go 定时器内部实现原理剖析

前言 前面我们介绍了一次性定时器Timer和周期性定时器Ticker,这两种定时器内部实现机制相同。创建定时器的协程并不负责计时,而是把任务交给系统协程,系统协程统一处理所有的定时器。 本节...

恋恋美食
今天
6
0
分布式协调神器 ZooKeeper 之整体概述

ZooKeeper 最早起源于雅虎研究院的一个研究小组。当时,雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布式单点问题。所以,雅虎的开发人员就...

别打我会飞
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部