博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos 基础性命令
阅读量:7047 次
发布时间:2019-06-28

本文共 3543 字,大约阅读时间需要 11 分钟。

hot3.png

docker 使用入门

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

install

centos 中文安装指南:

  • 环境 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 为例让其余几台机连接94weave 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/bashslave 93>weave run 192.168.0.102/24 -itd centos/sparkslave2 /bin/bash /run.sh 192.168.0.101:7077

转载于:https://my.oschina.net/u/2362111/blog/714452

你可能感兴趣的文章
jbpm入门样例
查看>>
在ubuntu下关闭笔记本触摸板
查看>>
PowerPoint在线浏览的几个方案
查看>>
CentOS6.5系统挂载NTFS分区的移动硬盘
查看>>
很具体GC学习笔记
查看>>
【三石jQuery视频教程】03.创建垂直时间表(Timeline)
查看>>
HTML5系列:HTML5本地存储
查看>>
android完全退出应用程序
查看>>
Linux中cp和scp命令的使用方法
查看>>
Big Data Security Part One: Introducing PacketPig
查看>>
git入门-分支
查看>>
【转】win7与ubuntu双系统,删除ubuntu后,启动错误error:no such partition grub rescue的修复--不错...
查看>>
PHP-深入理解Opcode缓存
查看>>
语言代码
查看>>
android面试题 不仅仅是面试是一个很好的学习
查看>>
Linux 性能监测:工具
查看>>
Linux pipe功能
查看>>
为什么写科技博客是情侣如此重要?
查看>>
ORACLE触发特定的解释
查看>>
UVA - 11388 GCD LCM
查看>>