[英]Download failure within official ubuntu docker images on Ubuntu 14.04 host
[英]How to install multiple ubuntu images in the same host via docker?
我需要通過主機中的數據分析軟件來運行多線程。 但是我發現如果直接使用多線程,則得出的結果會相互沖突。 可能是因為共享了公共參數。
因此,我想多次安裝該軟件並同時運行這些軟件。 我可以通過拉拉ubuntu
docker run -it ubuntu bash
並在此ubuntu中安裝軟件。
但是如何多次從存儲庫中拉ubuntu? 我需要真正安裝在主機中的其他Ubuntu。 現在,一旦安裝了第一個ubuntu,如果我再次使用docker run -it ubuntu bash
,只會生成一個新映像,而不是真正占用磁盤空間的系統。
容器是分開的,但是如果在主機中僅安裝一次該軟件,如何避免共參數問題? 如何在主機中真正安裝該軟件5次?
您可以:
為要安裝的每組應用程序創建一個Dockerfile並構建一個命名/標記映像。 這將更加整齊並且易於復制。
或者,命名要創建的容器:
docker運行--name app1 ubuntu / bin / bash
泊塢窗運行--name app2 ubuntu / bin / bash
然后,您可以使用commit保存它們的圖像。 如果需要,還可以啟動,停止並輸入。
Docker / OCI映像是不可變的對象。 將圖像作為容器運行不會修改該圖像,容器會將任何文件系統更改置於該圖像之上。 您運行的每個容器都是一個單獨的實體,並在其自身的文件系統更改下以其自己的名稱空間運行。 每個容器都有唯一的ID參考。
在大多數情況下,您將創建一個Dockerfile
來描述您在ubuntu之上所需的所有常見軟件安裝和配置。
FROM ubuntu:16.04
RUN apt-get update && apt-get install mydeps
您構建並標記的對象
$ docker build -t me/myapp .
然后,無論何時運行映像,都會創建一個與映像分開的新容器,並與正在運行的任何其他容器分開:
$ docker run -ti me/myapp bash
root@28cfd02a55b1:/# echo test > /test
root@28cfd02a55b1:/# cat /test
test
在第二個容器中,文件將不存在
$ docker run -ti me/myapp bash
root@39584fb744a9:/# cat /test
cat: /test: No such file or directory
在主機上,您可以看到帶有docker ps
每個容器實例:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
39584fb744a9 me/myapp "bash" 21 seconds ago Up 20 seconds kind_brattain
28cfd02a55b1 me/myapp "bash" About a minute ago Up About a minute blissful_thompson
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.