分类 - 容器引擎

2020-06-19 09:36:56    21    0    0

一. host模式

与宿主机共享网络,host模式时宿主机和容器共用同一个网络,所以如果在容器内和宿主机要启动监听端口时需要考虑端口冲突问题。

  1. $ docker run -it --rm --name alpine1 --network host alpine sh
  1. +-----------------------------------------------------------------------------+
  2. | HOST |
  3. | +--------------------------------+ +----------------------------------+ |
  4. | | container1 | | container2 | |
  5. | | 10.10.10.220/24 | | 10.10.10.220/24 | |
  6. | +--------------------------------+ +----------------------------------+ |
  7. | share the same network |
  8. | +-----------------------+ |
  9. | | 10.10.10.220/24 | |
  10. | | eth0 | |
  11. +-------------------------+-----------------------+---------------------------+
2020-06-14 20:45:37    15    0    0

Docker的数据持久化主要有两种方式:bind mountvolume,Docker的数据持久化要么存在于host的某个指定目录中(使用bind mount),要么使用docker自己管理的volume/var/lib/docker/volumes下)。

一. bind mount

下面是挂载示例

  1. docker run -itd -v $(pwd)/host-dava:/container-data centos:7.7.1908 /bin/bash

说明:

  • host机器的目录路径必须为绝对路径,不然docker会将其当做volume而不是bind mount处理.
  • 如果host机器上的目录不存在,docker会自动创建该目录.
  • 如果container中的目录不存在,docker会自动创建该目录.
  • 如果container中的目录已经有内容,那么docker会使用host上的目录将其覆盖掉.
2019-12-18 10:20:05    7    0    0
# 一. 安装docker-compose方法 `docker-compose`是一个可执行的二进制文件,所以只需要放到系统路径下即可。 ``` sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/loca
2018-09-02 13:35:34    49    0    0

CentOS7及以上版本,修改配置下载镜像地址为国内地址,先修改registry-mirrors的地址,然后重启即可。

1、修改地址

  1. # cat /etc/docker/daemon.json
  2. {
  3. "registry-mirrors": ["https://registry.docker-cn.com"]
  4. }
  5. # systemctl daemon-reload
  6. # systemctl restart docker
2018-09-02 13:35:34    75    0    0

一、操作系统的选择

   在 CentOS 上安装 Docker 时, 会面临操作系统的选择, 大部分用户青睐于 CentOS6, 因为它相对于CentOS7来说,比较易用。但是 Docker 的安装却恰恰相反, 为了能稳定地运行 Docker, 你最好选择CentOS7来安装,这样你会少很多的事儿。笔者之前在CentOS6上折腾过一段时间,到最后折腾到吐血了。

二、Docker 版本说明

  Docker 有多个版本,为了稳定运行Docker我们要选择合适的版本安装。

  • docker-engine :Docker 官方提供旧版本,可以配置官方yum(CentOS6CentOS7)源,然后安装使用,不推荐。
  • docker-io :CentOS7默认的 Docker 版本,不需要配置yum源,可直接安装(yum install docker-io)
  • docker-ce :Docker Engine 改为了 Docker CE(社区版)
  • docker-ee :Docker Data Center 改为了 Docker EE(企业版),面向企业用户,对部分功能进行了强化。
2018-09-02 13:35:34    72    0    0

Dockerfile 文件命令总结

FROM

  • 功能
    指定基础镜像,并且必须是第一条指令。如果不以任何镜像为基础,那么写法为:FROM scratch
    同时意味着接下来所写的指令将作为镜像的第一层开始

  • 语法

  1. FROM <image>
  2. FROM <image>:<tag>
  3. FROM <image>:<digest>
  • 说明
    三种写法,其中<tag><digest> 是可选项,如果没有选择,那么默认值为latest

Docker    2018-09-02 13:35:34    121    0    0
  • 一、连接docker容器

    1. docker exec -it c0afa96d49df /bin/bash

    二、查看 Docker 信息

    • docker version
      查看docker的版本号,包括客户端、服务端

    • docker info
      查看系统(docker)层面信息,包括管理的images, containers数据

    三、搜索镜像

      从Docker Hub查找镜像

2018-09-02 13:35:34    87    0    0

一、容器当虚拟机使用

 在某种程度上,Docker 可以当做虚拟机来使用,可以给容器配置网桥方式上网。这种方式大大降低了容器的灵活性。

1、容器启动脚本

  编辑脚本 run_container.sh

  1. #!/bin/bash
  2. host_name=node1
  3. image_name=centos
  4. container_name=centos-node1
  5. docker run -itd \
  6. --privileged=true \
  7. --net=none \
  8. -h $host_name \
  9. --name $container_name \
  10. -v /home:/home \
  11. -v /data:/data \
  12. $image_name \
  13. /bin/bash