docker部分笔记
docker常用命令
docker服务:service docker start/stop/restart
docker进入镜像:docker exec -it [镜像id] /bin/bash
镜像修改提交:docker commit [容器id] [提交后生成的镜像名称]
运行镜像并生成容器:docker run -it [镜像名称] /bin/bash
设置别名:docker tag [本地镜像名称] 192.168.1.19:12000/[同上]
发布镜像:docker push 192.168.1.19:12000/redis
docker本地仓库搭建后访问地址:http://localhost:12000/v2/_catalog
保存成文件 docker save -o ~/tools/redis.tar f8af8a2aa4b6
使用文件生成镜像 docker load < redis.tar
查看容器日志docker logs -f --tail=200 outer
[-f 实时日志 --tail 倒数多少行 outer 项目名
-t : 查看日志产生的日期
—since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。]
docker 启动参数
--restart=always 自动启动
--privileged=true 容器加上特权
docker容器创建限制信息
docker run -it -m 200M --memory-swap=300M [镜像名称] --vm 1 --vm-bytes 280M
-m 或 --memory:设置内存的使用限额,例如 200M
--memory-swap:设置 内存+swap 的使用限额
--vm 1:启动 1 个内存工作线程。
--vm-bytes 280M:每个线程分配 280M 内存。
--cpu: cpu的的数量
docker网络模式
1:bridge模式,--net=bridge(默认)。
这是dokcer网络的默认设置。安装完docker,系统会自动添加一个供docker使用的网桥docker0,我们创建一个新的容器时,容器通过DHCP获取一个与docker0同网段的IP地址。并默认连接到docker0网桥,以此实现容器与宿主机的网络互通。如下:
2:host模式,--net=host。
这个模式下创建出来的容器,将不拥有自己独立的Network Namespace,即没有独立的网络环境。它使用宿主机的ip和端口。
3:container模式,--net=container:NAME_or_ID。
这个模式就是指定一个已有的容器,共享该容器的IP和端口。除了网络方面两个容器共享,其他的如文件系统,进程等还是隔离开的。
4:none模式,--net=none。
这个模式下,dokcer不为容器进行任何网络配置。需要我们自己为容器添加网卡,配置IP。
因此,若想使用pipework配置docker容器的ip地址,必须要在none模式下才可以