小编Her*_*arn的帖子

Docker:中间容器是如何形成的

我想了解使用Dockerfile构建Docker镜像所涉及的执行步骤.我在下面列出了几个问题.请帮助我理解构建过程.

Dockerfile内容

#from base image
FROM ubuntu:14.04
#author name
MAINTAINER RAGHU
#commands to run in the container
RUN echo "hello Raghu"
RUN sleep 10
RUN echo "TASK COMPLETED"
Run Code Online (Sandbox Code Playgroud)

用于构建映像的命令: docker build -t raghavendar/hands-on:2.0 .

Sending build context to Docker daemon 20.04 MB
Step 1 : FROM ubuntu:14.04
---> b1719e1db756
Step 2 : MAINTAINER RAGHU
---> Running in 532ed79e6d55
---> ea6184bb8ef5
Removing intermediate container 532ed79e6d55
Step 3 : RUN echo "hello Raghu"
---> Running in da327c9b871a
hello Raghu
---> f02ff92252e2
Removing …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-container

21
推荐指数
1
解决办法
1万
查看次数

CREATED容器在docker中意味着什么?

对docker容器状态感到有点困惑,特别是状态为CREATED.

我知道当容器运行状态时,它显示如下:

root@labadmin-VirtualBox:~/RAGHU/DOCKER# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
1261afc2acc1        302fa07d8117        "/bin/bash"         43 minutes ago      Up 43 minutes                           optimistic_thompson
Run Code Online (Sandbox Code Playgroud)

如果容器已停止,则显示如下:

root@labadmin-VirtualBox:~/RAGHU/DOCKER# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
935f902efac7        302fa07d8117        "/bin/bash"              44 minutes ago      Exited (0) 44 minutes ago                       competent_golick
5eb1c2525e2e        302fa07d8117        "/bin/bash"              44 minutes ago      Exited (0) 44 minutes ago                       friendly_saha
Run Code Online (Sandbox Code Playgroud)

我的困惑在于 docker将容器的状态显示为CREATED:

root@labadmin-VirtualBox:~/RAGHU/DOCKER# docker ps -a | grep -i …
Run Code Online (Sandbox Code Playgroud)

docker

21
推荐指数
1
解决办法
1万
查看次数

Groovy - 警告:发生了非法的反射访问操作

我对java和groovy都很陌生.我在我的Windows 10笔记本电脑(64位)上安装了groovy 3.0,当试图运行groovy时收到以下警告:

>groovy -v
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/C:/groovy-3.0.0-alpha-1/lib/groovy-3.0.0-alpha-1.jar) to method java.lang.Object.finalize()
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Groovy Version: 3.0.0-alpha-1 JVM: 9.0.1 Vendor: Oracle Corporation OS: Windows 10
Run Code Online (Sandbox Code Playgroud)

而java版本是:

java --version
java 9.0.1
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java …
Run Code Online (Sandbox Code Playgroud)

java groovy

19
推荐指数
3
解决办法
9691
查看次数

在docker中使用HOST和NONE网络有什么用?

试图了解docker网络,Docker自动创建以下网络:

# docker network ls 
NETWORK ID          NAME                DRIVER              SCOPE
67b4afa88032        bridge              bridge              local               
c88f997a2fa7        host                host                local               
1df2947aad7b        none                null                local               
Run Code Online (Sandbox Code Playgroud)

我知道桥接网络代表所有Docker安装中存在的docker0网络,从链接引用.

有人可以帮助我理解其他网络,主机没有,如果可能的话,举例.

docker docker-networking

14
推荐指数
2
解决办法
7793
查看次数

HASHICORP VAULT:如何从文件中读取多个项目并将它们写入 Vault

我能够从 json 文件将值写入 Vault:

# cat secrets.json 
{ "value": "bGktzwatc" }
{ "value": "AGktzwatB" }
Run Code Online (Sandbox Code Playgroud)

在尝试通过读取 json 文件来创建新值时,Vault 仅读取文件中的第一个值:

# ./vault write secret/passwd1 @secrets.json
Success! Data written to: secret/passwd1
# ./vault read secret/passwd1
Key                 Value
---                 -----
refresh_interval    768h0m0s
value               bGktzwatc
Run Code Online (Sandbox Code Playgroud)

是否可以从文件中读取多个值并通过保管库写入不同的键?

我的要求是通过从文件中读取来为多个键添加值:

Key                 Value
---                 -----
refresh_interval    768h0m0s
value               bGktzwatc

Key                 Value
---                 -----
refresh_interval    768h0m0s
value               AGktzwatB
Run Code Online (Sandbox Code Playgroud)

hashicorp-vault

7
推荐指数
2
解决办法
1万
查看次数

python中的多行字符串格式

首先,我正在努力获得如下所需的输出:

*********************************************************************
                                 hello
********************************************************************* 
Run Code Online (Sandbox Code Playgroud)

为实现这一点,我已将所需的输出分配给具有多行字符串的变量,并使用格式打印相同的变量.

$ cat varibale.py 
decorator = """ **********************************************************************
                               {}
            ********************************************************************** """
print(decorator.format("hello"))
Run Code Online (Sandbox Code Playgroud)

输出:

**********************************************************************
                               hello
            **********************************************************************
Run Code Online (Sandbox Code Playgroud)

上述方法的问题是第三行输出中额外空格看起来很奇怪.

我能够通过以下方式实现这一目标:

$ cat varibale.py 
decorator = """ **********************************************************************
                             {}
********************************************************************* 
"""
print(decorator.format("hello"))
Run Code Online (Sandbox Code Playgroud)

输出:

 **********************************************************************
                             hello
********************************************************************* 
Run Code Online (Sandbox Code Playgroud)

但是这样我的代码看起来不太好,因为它没有跟随缩进.

请建议正确的方法来实现所需的输出.

python multiline

7
推荐指数
2
解决办法
9284
查看次数

如何知道正在运行的线程:python

有什么方法可以知道使用 python 线程模块正在运行哪些线程。使用以下代码,我可以获得线程名称、当前线程、活动线程数。

但我的疑问是 ACTIVE_THREADS 为 2,当前线程始终为“MainThread”。在后台运行的另一个线程可能是什么?

import threading
import time

for _ in range(10):
    time.sleep(3)
    print("\n", threading.currentThread().getName())
    print("current thread", threading.current_thread())
    print("active threads ", threading.active_count())
Run Code Online (Sandbox Code Playgroud)

上面代码的输出:

主线程

当前线程 <_MainThread(MainThread, started 11008)>

活动线程 2

python multithreading

6
推荐指数
1
解决办法
4281
查看次数

为什么 docker 使用 32768-65535 的端口号?

作为 Docker 的新手,我有一个基本问题,即为什么 Docker 使用从 32768 到 65535 的端口号?

为什么选择特定的范围?其他端口没有用吗?

有人可以帮助我更好地理解这一点..

containers docker

5
推荐指数
1
解决办法
1813
查看次数

访问Python中类的隐藏属性

演示了如何隐藏类的属性和方法来访问类外的隐藏变量

class hiding():
    # class attribute, "__" befor an attribute will make it to hide
    __hideAttr = 10
    def func(self):
        self.__hideAttr += 1 
        print(self.__hideAttr)

a = hiding()
a.func()
a.func()


#AttributeError: 'hiding' object has no attribute '__hideAttr'
print (a.__hideAttr)
Run Code Online (Sandbox Code Playgroud)

python

2
推荐指数
1
解决办法
1万
查看次数

了解openshift中的持久卷声明模式

我试图了解Openshift中持久卷声明的不同访问模式.从这里找到以下信息

Access Mode         CLI Abbreviation             Description
ReadWriteOnce           RWO               The volume can be mounted as read-write by a single node.

ReadOnlyMany            ROX               The volume can be mounted read-only by many nodes.

ReadWriteMany           RWX               The volume can be mounted as read-write by many nodes.
Run Code Online (Sandbox Code Playgroud)

我知道PVC绑定到单个项目/命名空间,也可以扩展到不同的项目.

这里的混淆是,"单节点"或"多节点"在这里意味着什么.例如,在RWO模式中,"The volume can be mounted as read-write by a single node".它指的是什么节点.

有人可以告诉我这些模式对于单个项目/命名空间重要性.使用RWO的存储是否只能对一个应用程序或项目中的所有应用程序具有写入权限

openshift kubernetes openshift-enterprise

2
推荐指数
1
解决办法
1262
查看次数