从宿主机获得Docker内部IP

在Docker内部获取IP

Docker内部里面,ipconfig/ip 等命令是无法使用的,正确的命令是

$ hostname -I
172.24.116.11

在宿主机获得Docker的IP

假设你已经有了一个Docker,ID是f864187a2406

$ docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' f864187a2406
172.24.116.11

$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' f864187a2406
172.24.116.11

$ docker inspect f864187a2406 | egrep -e "(IPAddress|Id)"
        "Id": "f864187a24065636dc0cf9e87bdf2971fea27d4014cf981eaac6b971506b2776",
                "deployId": "8747",
            "SecondaryIPAddresses": null,
            "IPAddress": "172.24.116.11",
                    "IPAddress": "172.24.116.11",

docker pull offline

如果要在一个内网/网络很差的环境下运行docker pull, 应该会让人抓狂吧. 本文介绍一下怎么解决这个问题. 本文基于CentOS 7.

1, 使用Proxy

这是大多数人首先想到的方法. docker官网说export HTTPS_PROXY / export HTTP_PROXY以后运行docker pull即可使用代理, 但是我这里是无效的, 原因未知. 这里介绍一个解决办法:

$ vim /usr/lib/systemd/system/docker.service  #在[Service]段下添加如下2行
......
[Service]
Environment="HTTPS_PROXY=http://10.10.74.101:8888"
Environment="HTTP_PROXY=http://10.10.74.101:8888"
......
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker.service

然后再次运行docker pull就不会有问题了.

请注意: 使用本方法需要一个速度很棒的proxy_server . 如果你的proxy_server速度一般, 那么即使配置生效, 极慢的pull速度也会让你怀疑人生. 因此, 不妨考虑一下下面的方法.

2, 使用docker save/load进行镜像的导入导出

首先在一个网络不错的环境里, 进行docker pull, 并且将pull回来的docker save成一个image

$ docker pull docker.elastic.co/elasticsearch/elasticsearch:6.6.2
$ docker save -o es.img docker.elastic.co/elasticsearch/elasticsearch:6.6.2

然后将这个es.img文件拷贝到没有公网/网络很差的系统里

$ docker load -i es.img

docker基础知识(一)

安装docker

# 适用ubuntu 16.04
$ sudo apt install docker docker.io

# 适用CentOS 7 (这部分文档来自Docker官方https://docs.docker.com/install/linux/docker-ce/centos/)
$ yum install -y yum-utils device-mapper-persistent-data lvm2    # 安装依赖
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ yum install docker-ce docker-ce-cli containerd.io
$ systemctl start docker

一,images管理
搜索kms相关的image

$ sudo docker search kms
NAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
luodaoyi/kms-server                          kms server                                      21                   [OK]
lunker/kms                                   ubuntu image repositoiry for kms                1                    
leon0516/py-kms                              this is beta version!!!                         1                    [OK]
captbrick/py-kms                             Py-KMS                                          1                    [OK]
gkuzet/kms                                   KMS Server written in C                         1                    
openvidu/openvidu-server-kms                 OpenVidu platform service. It includes Ope...   1                    

比如第1个luodaoyi/kms-server,也可以用https://hub.docker.com/r/luodaoyi/kms-server/的方式查看相关信息.

下载想要的image(不必需)

$ sudo docker pull luodaoyi/kms-server

查看本地的images

$ sudo docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
luodaoyi/kms-server   latest              4f86d964ac52        4 months ago        4.09 MB

$ sudo docker image ls
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
luodaoyi/kms-server   latest              4f86d964ac52        4 months ago        4.09 MB

Continue reading “docker基础知识(一)”