Docker常用命令(三)

22.Docker的C/S模式:
1)使用客户端与DockerServer通信的方式有2中:
1.命令行
2.Remote API。 是RESTful风格的API
参考:https://docs.docker.com/reference/api/docker_remote_api/
2)docker客户端与服务端的通信方式:socket
unix:///var/run/docker.sock 默认 的
tcp://host:port
fd://socketfd
eg:使用linux的sock连接:nc -U /var/run/docker.sock GET /info HTTP/1.1
23.Docker守护进程的配置和操作
1.查看守护进程:
ps -ef | grep docker
sudo status docker
2.启动、停止docker 的守护进程(修改了守护进程的配置的时候使用)
sudo service docker stop
sudo service docker start
sudo service docker restart
启动项的选择:
docker -d
-D,—debug=false
-e,—exec-driver=“native”
-g,—graph=“/var/lib/docker” 写入文件的地址
—icc=true
-l —log-level=“info”
—label=[]
-p,—pidfile=“/var/run/docker.pid”
客户端与服务端连接时的选项:
-G ,—group=“docker”
-H,—host=[]. Sokcet 的链接
—tls=false
—tlscacert=“/home/sven/.docker/ca.pem“
—tlscert=“/home/sven/.docker/cert.pem”
—tlskey=“/home/sven/.docker/key.pem”
—tlsverify=false
RemotAPI 相关的选项
—api-enable-cors=false
存储相关的选项:
-s,—storage-driver=“”
—selinux-enabled=false
—storage-opt=[]
Registry仓库连接的选项:
—insecure-registry=[]
—registry-mirror=[]
网络相关的配置:
-b,—bridge=“”
—bip=“”
—fixed-cidr=“”
—fixed=cidr-v6=“”
-dns=[]
-dns-search=[]
网络设置相关:
—ip=0.0.0.0
—ip-forward=true
—ip-masq=true
—iptables=true
—ipv6=false
—mtu=0
24.docker的启动配置文件:
/etc/default/docker
25.docker的远程访问:
docker 服务端默认端口为:2375
26.Dockerfile指令格式:
注释:#Comment
指令:INSTRUCTION argument 这里的指定名是大写的

	FROM <image>
	FROM  <image>:<tag>
		这里指定的镜像名必须是一个存在的镜像(基础镜像)。必须是第一条
	MAINTAINER<name>
		指定镜像的作者信息,包含镜像的所有者和联系信息
	RUN:<command>	(shell模式)
	RUN:[“executable”,”param1”,”param2”] (exec模式)	
		指定当前镜像中运行的命令
		在shell模式下:/bin/sh -c command.  eg:  RUN echo hello
		在exec模式下:RUN[“/bin/bash”,”-c”,”echo hello”]
	EXPOSE<port>[<port>…]
		指定运行该镜像的容器使用端口。可以使用多个端口
	例如:
		#First Dockerfile
			FROM centos
			MAINTAINER firsDockerfile
			RUN apt-get update
			RUN apt-get install -y nginx
			EXPOSE 80

		这时候并不会打开这个端口。 而是使用在运行容器的时候指定饿那个端口
	  CMD:
		CMD [“executable”,”param1”,”param2”] exec模式。 
			表示在镜像构建的时候运行的。
		CMD command param1 ,param2 (shell模式)  容器运行的时候执行的指令
		如果指定了CMD指令。那么会覆盖构建事指定的指令
		eg:CMD ["nginx","-g","daemon off;”] 表示容器启动时以前台的方式运行nginx
	  ENTERYPOINT:
	  	这2个指令用来指定容器在运行时运行的命令
	区别:前者的run 指令的参数会覆盖Dockerfile CMD 的指令
		 后者的run 指令的参数不会覆盖Dockerfile CMD 的指令
		给予他们这样的特性 一般组合使用。使用ENTERYPOINT 指定需要运行的命令,使用CMD指定运行需要的参数
	  ADD <src> …<dest>
	  ADD [“<src>” …”<dest>”] 适用于文件路径中有空格的情况 
	  COPY<src> …<dest>
	  COPY [“<src>” …”<dest>”] 适用于文件路径中有空格额情况 
	src:本地路径的相对路径
	dest:镜像中的绝对路径
		将文件复制到使用Dockerfile构建的镜像中,都支持来源地址和目标地址,地址可以是本地地址也可以是其他网络来源地址
	区别:ADD 中包含了类似于tar的解压功能呢
		如果只是简单的copy 使用COPY
	  VOLUME:
		这3个指令用来设置路径,用于向容器添加卷,可以绕过联合加载文件
	  WORKIDIR:
		/path/to/workdir. 指定工作路径 一般使用绝对路径
	  ENV: 环境变量指令
	  USER:用户指令。指定那个用户来运行容器,不指定默认使用root用户
		这3个指令用来指定容器在构建和运行时的参数
	  ONBUILD:
		触发器指令,当一个镜像被其他镜像作为基础镜像时执行,会在构建过程中插入指令
		不会在基础镜像上构建。而是在下一次才使用ONBUILD
	Dockerfile构建过程:
	使用中间层调试docker构建的错误
	构建缓存:
	不实用缓存:docker build -no—cache
27.查看镜像构建的过程:
	docker history [image]
28.docker的网络连接:
	使用ifconfig 可以查询到docker0的网络连接设备。这里的docker0
	网桥是数据链路层的设备 是以MaK地址作为划分的 特点:
		可以设置IP地址
		相当于拥有一个隐藏的虚拟网卡
   docker0的地址划分:
		IP172.17.42.1 子网掩码:255.255.0.0
		MAC:02:42:ac:11:00:00到02:42:ac:11:ff:ff
		总共提供了65534个地址
	查看linux 中网桥的信息:sudo brctl show 
	修改docker0到任意的网段:
	sudo ifconfig docker0 192.168.200.1 net mask 255.255.255.0
	自定义虚拟网桥:
		sudo brctl adder br0
		sudo ifconfig br0 192.168.100.1 netmask 255.255.255.0
	更改docker 守护进程的启动配置:
		/etc/default/docker 中添加DOCKER_OPS值
		-b=br0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值