运行中对container操作

  1. 后台运行(-d命令为后台运行,--name为定义名称 )

    Docker容器(三)

  2.  操作容器Docker容器(三)
  3. 也可以在外部直接使用容器内部的东西Docker容器(三)
  4. 指定容器的名称Docker容器(三)
  5. 查看容器的详细信息Docker容器(三)
  6. 先看dockers日志Docker容器(三)
  7.  修改容器名字Docker容器(三)

Dockerfile案例

运行ubuntu直接安装stressDocker容器(三)

使用 256内存,debug输出

 Docker容器(三)

指定超出容器内存的任务

Docker容器(三)

docker的网络

busybox是一个非常小的linux, 让它执行一个语句。

Docker容器(三)

 查看本机namespace

 Docker容器(三)

 添加一个namespace

Docker容器(三)

 查看本机namespace默认是down的状态

变为up状态,显示为unknownDocker容器(三)

创建并查看link

Docker容器(三)

添加veth-test1到test1的namespaceDocker容器(三)

添加并查看veth-test2

Docker容器(三)

为test1和test2分配IP地址Docker容器(三)

link并启动

Docker容器(三)

两个namespace可以ping通了

Docker容器(三)

Docker容器(三)

bridge网络

可以看到test2和本机的网卡有veth对Docker容器(三)Docker容器(三)

安装brctl

Docker容器(三)

查看本机的veth

Docker容器(三)

查看本机网卡,docker0下有这2个veth

 Docker容器(三)

容器通信

首先启动一个容器

 

 Docker容器(三)

再创建一个有—link的容器 

Docker容器(三)

 此时,可以用test6直接访问test5,类似于访问主机名

Docker容器(三)

端口映射

1.运行一个nginx容器

Docker容器(三)

2.查看桥接网络状态

Docker容器(三)

3.容器内可以访问,容器外访问不到

Docker容器(三)

Docker容器(三)

 

4.停止并删除容器

Docker容器(三)

5.重新创建容器,并指定端口映射

Docker容器(三)

6.外界可以访问了

Docker容器(三)

 

 

网络的nonehost

none网络:应用场景是安全性极高的情况

 

1.创建新的容器,使用none网络Docker容器(三)

2.查看none网络状态

Docker容器(三)

3.外界访问不了,只有进去,127.0.0.1可以访问

Docker容器(三)

host网络:

1.创建新的容器,使用host网络

Docker容器(三)

2.查看host网络

Docker容器(三)

3.进入容器,查看网络

Docker容器(三)

 

多容器部署和应用

应用:flask做web服务,redis做自增

 

1.停止并删除之前的容器,删除image

Docker容器(三)

Docker容器(三)

3.运行redis容器

Docker容器(三)

4.编写app.py,做web服务,中文就先别写了

Docker容器(三)

5.编写Dockerfile

Docker容器(三)

6.构建image

Docker容器(三)

7.运行容器,并设置环境变量REDIS_HOST

Docker容器(三)

8.进入容器并查看环境变量

Docker容器(三)

9.多次访问5000端口,实现自增,此时外界无法访问

Docker容器(三)

10.停止并删除之前容器,重启容器,指定暴露的端口,外界可以访问了

Docker容器(三)

Docker容器(三)

 多机器多容器通信

注意:多机的docker版本要一致

 

1.停止和删除之前的容器

Docker容器(三)

2.将准备好的etcd分别放到2台机器的 /usr/local 下

3.2台机器,解压并进入目录

Docker容器(三)

Docker容器(三)

4.在第一台机器运行如下启动,在运行.txt中修改好粘贴进去

docker启动命令(node01)
	/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store=etcd://192.168.20.250:2379 --cluster-advertise=192.168.20.250:2375&

docker启动命令(node02)
	/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --cluster-store=etcd://192.168.20.254:2379 --cluster-advertise=192.168.20.254:2375&

 注意更改IP地址

Docker容器(三)

5. 在第二台机器运行如下启动,在运行.txt中修改好粘贴进去

Docker容器(三)

6.2台机器都查询集群健康状态

Docker容器(三)

7.2台机器都停止docker

Docker容器(三)

8.node01启动docker

Docker容器(三)

8.node02启动docker

Docker容器(三)

 

9.创建overlay网络

Docker容器(三)

10.查看网络

Docker容器(三)

11.查看分布式数据库etcd存储的数据

Docker容器(三)

12.在node01创建容器并运行

Docker容器(三)

13.在node02创建容器并运行,容器名字不能与node01的冲突

 

 

相关文章: