在centos上布置docker

2021-09-22 19:58:03 字數 2565 閱讀 9424

序言: 記得準備放假時,接到了乙個 在centos系統上,部署產品docker執行的環境; docker是比較新型的技術, 我從網上多方面整理,並完成了部署, 途中遇到的問題也分享分享。

一、 dokcer 原理是什麼?

可以參照 原理: 寫得很仔細。

安裝:基本上按照上部落格命令執行,就可以在centos 下按照 docker**。

二 、熟悉 docker 命令操作

[常用命令]

終端 輸入 docker help

以及常見的 操作 docker option

和 docker run 的搭配

df -h 再檢視 ; 此時新增成功。

2)問題2

docker 容器執行時, 會不斷的膨脹空間。 膨脹的目錄是名為 overlay , 路徑:/var/lib/docker/overlay/下

1、停止docker服務。

systemctl stop docker; //每個liunx版本的命令不一樣。

2、建立新的docker目錄,執行命令df -h,找乙個大的磁碟。我的是放在/home目錄下面,我的/home目錄大小有900g。 我在 /home目錄下面建了 /home/docker/lib目錄,執行的命令是:mkdir -p /home/docker/lib

3、遷移/var/lib/docker目錄下面的檔案到 /home/docker/lib下面

cp -r /var/lib/docker/* /home/docker/lib/

注意:如果檔案內容很多的話,為了確保成功最好是乙個檔案乙個檔案的拷貝。如果在拷貝過程中報「裝置上沒有空間」的錯誤,就使用mv剪下。

[service]

execstart=

execstart=/usr/bin/dockerd --insecure-registry=私服位址 --graph=/home/docker/lib

5、過載配置,重啟docker

systemctl daemon-reload;

systemctl restart docker;

systemctl enable docker;

6、啟動成功後,確定容器沒問題後刪除/var/lib/docker/目錄中的檔案,然後就ok了。

三、、

2) 容器與宿主機間拷貝檔案

docker cp [options] container:src_path dest_path|-

docker cp [options] src_path|- container:dest_path

例項將主機./rs-mapreduce目錄拷貝到容器30026605dcfe的/home/cloudera目錄下。

docker cp rs-mapreduce 30026605dcfe:/home/cloudera

將容器30026605dcfe的/home/cloudera/rs-mapreduce目錄拷貝到主機的/tmp目錄中。

docker cp 30026605dcfe:/home/cloudera/rs-mapreduce /tmp/

三、 進入容器四種方法:

在使用docker建立了容器之後,大家比較關心的就是如何進入該容器了,其實進入docker容器有好幾多種方式,這裡我們就講一下常用的幾種進入docker容器的方法。

進入docker容器比較常見的幾種做法如下:

1.使用docker attach

2.使用ssh

3.使用nsenter

4.使用exec

目前最為常用的是第四種,exec

經過篩選:

1二、使用ssh進入docker容器

在生產環境中排除了使用docker attach命令進入容器之後,相信大家第乙個想到的就是ssh。在映象(或容器)中安裝ssh server,這樣就能保證多人進入容器且相互之間不受干擾了,相信大家在當前的生產環境中(沒有使用docker的情況)也是這樣做的。但是使用了docker容器之後不建議使用ssh進入到docker容器內。關於為什麼不建議使用,請參考如下文章:

2使用nsenter進入docker容器。。。該方法的缺點在於步驟比較繁瑣

我接觸第一種,attach 進入容器, 缺點是 (1)退出時,容器會停止 ,(2)而且還不算怎麼靈活。

(3)但在,使用該命令有乙個問題。當多個視窗同時使用該命令進入該容器時,所有的視窗都會同步顯示。如果有乙個視窗阻塞了,那麼其他視窗也無法再進行操作。

因為這個原因,所以docker attach命令不太適合於生產環境,平時自己開發應用時可以使用該命令。

。所以最優是 exec:

語法格式:

docker exec --help

[產看語法格式]

操作 可以組合 ; -it 是常用

container:可以是名字、或者容器id

cimmand::命令的意思: /bin/bash 代表控制台

例如: docker exec -i lv5 ./processctrl -license 互動式進入了容器,執行這個命令

在CentOS7 7上安裝最新版Docker

在centos7.7上安裝最新版docker 參照docker官方文件安裝 啟動docker systemctl start docker 設定docker開機啟動 systemctl enable docker 檢視docker狀態 systemctl status docker 設定docker...

iphone在windows上布置開發環境

概述 很多朋友希望在體驗或學習iphone開發,但是iphone開發環境一般需要安裝在mac計算機下mac os中。這給許多朋友帶來了額外成本投入。網上已經有各種破解方法,在非蘋果電腦上安裝iphone開發環境,給我們帶來了佳音。但是各種版本比較雜亂,可能會費時費力而無果。最近,蘋果推出了新的開發環...

阿里雲CentOS 7上安裝配置Docker

redhat centos必須要6.6版本以上,或者7.x才能安裝docker,建議在redhat centos 7上使用docker,因為redhat centos 7的核心公升級到了kernel 3.10,對lxc容器支援更好。檢視linux核心版本 核心版本必須是3.10或者以上 使用命令 u...