Docker 入门

Docker的基本操作

1.启动容器   docker run image [command] [Arg…]

Exp:     docker run centos echo ‘hello world’

2.启动交互式容器  docker run -i -t image /bin/bash

-i -t  容器打开标准输入/伪tty终端

Exp:     docker run -i -t centos bash

3.查看容器 docker ps [-a] [-l]   正在运行的/所有/最新

4.自定义容器名 docker run — name=容器名 -i -t image bash

Exp: docker run –name=container01 -i -t centos bash

5.重新启动停止的容器:

docker start [-i] 容器名

6.删除容器:

Docker  rm  容器名

7.进入退出容器: docker attach [name/id]

 

 

守护式容器:1.能够长期运行 2.没有交互式会话 4.适合运行应用程序和服务

Ctrl+p  ctrl+q   (后台运行)

docker run –name [***] -d 容器名 [command] [args…]

 

查看容器日志   docker logs [-f] [-t] [–tail] 容器名   跟随log/时间戳/结尾处的数量

容器进程     docker top images

容器中启动新进程 docker exec [-d] [-i] [-t] 容器名 [command] [arg…]

停止容器 docker stop(等待响应的停止)/kill(直接暂停)

容器部署网站:

设置容器的端口映射 docker run -P ** –name ** -i -t centos bash

 

 

docker inspect [id/name] 建立的容器/镜像信息

镜像操作

删除镜像

docker rmi  [ID/Name….] 删除镜像     docker rml $(docker images -q)

查找镜像

Docker search [镜像名]

下载上传镜像

Docker pull [-a] 镜像名[tag]   /     docker push

构建镜像

通过容器构建 docker commit

通过Dockerfile文件构建 docker build

 

 

 

 

连接方式:

 

修改配置

docker -h  [……]

export DOCKER_HOST=”tcp://….. : …”

Docker守护进程的配置与操作

配置启动配置选项

修改启动配置使用sudo service docker start

 

 

 

Dockerfile

构建过程:

1.从基础镜像运行容器

2.执行指令对容器进行修改

3.执行docker commit操作,提交新镜像层

4.基于提交镜像运行新容器

5.执行DockerFile中下一条指令,直至全部完毕

Using:

使用中间层镜像进行调试 查找错误

 

构建缓存:

docker build –no-cache (不使用)

docker history  构建过程

 

 

1.注释

2.指令+参数

<1>from  <2>maintainer  <3>run  <4>expose

<5>CMD  <6>ENTERPOINT  <7>ADD  <8>COPY  <9>VOLUME

<10>WORKDIR  <11>ENV  <12>USER   <13>ONBUILD

From<image>    From<image>:tag   第一条非注释指令   基础镜像

Maintainer<name> 指定镜像的作者信息

Run     指定当前镜像中运行的命令

Run<command>(shell) run echo …

Run[“executable”,”param1”,”param2”]  (exec模式)   run[“bash”,”-c”,”echo hello”]

EXPOSE [port…]   指定运行该镜像的容器端口

 

CMD 镜像启动后运行  (会被覆盖)

CMD[“executable”,”param1”,”param2”]  (exec模式)

CMD command param1 param2 (shell 模式)

ENTRYPOINT (不会被覆盖)

ENTRYPOINT[“executable”,”param1”,”param2”]  (exec模式)

ENTRYPOINT command param1 param2 (shell 模式)

Add<src>…包含tar解压功能   Copy<src>…复制文件

Workdir 容器中设置工作目录 (绝对路径)

ENV  环境变量 User   用户(默认root)  USER user:group/gid

ONBUILD 指令    触发器

 

Docker网络连接 (通过虚拟网桥)

docker0  虚拟网桥:设置IP地址,相当于虚拟隐藏网卡

修改docker0地址:

Sudo ifconfig docker 192.168.200.1 netmask 255.255.255.0

Docker容器互联

守护进程选项   icc=true/false(允许/拒绝)  –iptables  –link (单连)

 

Docker与外部网络连接

Ip_forward  iptables   端口映射访问   iptables限制访问

Ip_forward  (允许数据转发)

Iptables 与Linux内核集成过滤防火墙系统

 

IPTables   操作控制

 

表(tables)  链(chain) 规则(rule)

添加规则

Sudo iptables -I DOCKER -s 访问原地址  -d 目的地址 -p 协议 –dport 端口 [操作]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Docker容器数据管理

<1>容器的数据卷 <2>数据卷容器    <3>数据卷的备份和还原

数据卷:

绕过UFS为多个容器提供访问,目的:数据永久化,不会被删.

数据卷架构:

宿主机,可以是目录也可以是文件

数据卷特点:

<1>启动时初始化,若镜像挂载点包含数据则拷贝到数据卷中.

<2>数据卷可以在容器之间共享和重用

<3>可以对数据卷内容直接修改

<4>卷变化不会影响镜像更新    卷会一直存在

Docker run -it -v(权限)  [目录] –name [容器名] image [操作]

 

数据卷容器:进行数据共享

命名容器(数据卷容器)挂载数据卷,其他容器通过挂载该容器实现数据共享.

 

数据卷容器相当于知识配置数据卷的传递

Docker run –volumes-from [容器名] image [操作]

Docker数据卷备份还原

Docker run –volumes-from [容器名] -v[路径] image

 

 

 

 

 

Docker容器跨主机连接

1.网桥连接

利用网桥放置到同一网段下   (需要与主机在同一网段)

2.Open vSwitch(虚拟交换机)实现跨主机容器连接

GRE隧道技术

3.使用weave实现跨主机容器连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值