bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

Linux進容器命令,進容器的命令

linux服務器端有一個mysql,如何部署到docker容器里

步驟1:為我們的容器創建第一個鏡像

站在用戶的角度思考問題,與客戶深入溝通,找到江南網站設計與江南網站推廣的解決方案,憑借多年的經驗,讓設計與互聯網技術結合,創造個性化、用戶體驗好的作品,建站類型包括:網站設計制作、成都網站建設、企業官網、英文網站、手機端網站、網站推廣、域名注冊、虛擬空間、企業郵箱。業務覆蓋江南地區。

# 以 centos 鏡像作為基礎鏡像,我們啟動自己的容器并在其中執行/bin/bash命令

# 注:-t -i 參數用于創建一個虛擬的命令行。

sudo docker run -t -i centos /bin/bash

現在我們已經成功的運行了自己的第一個容器,并且進入到容器的命令行界面中。在容器中,我們執行下面的命令:

yum -y update # 更新軟件包

yum install which # 安裝which命令

yum install git # 安裝Git

安裝完成后,按 Ctrl + d 來退出容器的命令行。

# 執行sudo docker ps -a,可以看到被我們終止的容器

CONTAINER ID IMAGE COMMAND CREATED……

da9031d3568f centos:6.4 /bin/bash 5 minutes ago…..

把我們所做的改變提交到一個新的容器:

# 這里我們創建一個自己的基礎容器,容器中安裝好了文章中所需的常用工具。讀者的容器 id 可能與文章中的有所不同,以上一步 docker ps -a 的結果為準。

sudo docker commit da90 custom/base

容器成功提交后,執行 sudo docker images ,我們會看到剛才提交的容器(如下面的結果所示)。我們就以這個容器為基礎容器,再來創建一個新的容器。

REPOSITORY TAG IMAGE ID CREATED

custom/base latest 05b6cecd370b 2 minutes ago

centos 6.4 539c0211cd76 10 months ago

centos latest 539c0211cd76 10 months ago…

步驟2:創建新的容器,并安裝 apache

# 以 custom/base 容器為基礎,運行一個新的容器。

sudo docker run -t -i custom/base /bin/bash

# 安裝 httpd

yum install httpd

步驟3:再次提交新的容器

按 Ctrl + d 來退出容器的命令行,然后執行命令:

# 這個命令會把步驟2中我們安裝 httpd 帶來的改變提交到新的名為 custom/httpd 的容器鏡像中。你的容器 id 可能會和文章中有所不同,以 sudo docker ps -a 命令的結果為準。

sudo docker commit aa6e2fc0b94c custom/httpd

你應該已經發現了,我們創建了一個帶有 http 服務器并可以復用的容器鏡像。你可以根據這種思想,為自己所需的每個組件都創建一個容器,然后把這些容器復用于開發環境或者生產環境。

步驟7:運行 http 服務器

# -v will Mount a volume from VM to the container which was also shared from host to Vagrant VM.

# -v 參數把主機共享給虛擬機的一個卷掛載到容器中

# -p forward VM port 80 to container port 80; VM port 80 is mapped to host port 8080 in Vagrantfile

# -p 參數把虛擬機的80端口映射到容器的80端口;虛擬機的80端口在 Vagrantfile 中被綁定到主機的8080端口,也就是:主機8080-虛擬機80-容器80

sudo docker run -t -i -p 80:80 -v /vagrant/htdocs:/var/www/html custom/httpd /bin/bash

# 啟動 Apache

apachectl -k start

Linux系統Docker命令怎么用

下面是安裝 Docker 客戶端并在上面運行容器的簡單步驟。

1. 下載 Boot2Docker

在我們開始安裝之前,我們需要 Boot2Docker 的可執行文件。可以從 它的 Github 下載最新版本的 Boot2Docker。在這篇指南中,我們從網站中下載版本 v1.6.1。我們從那網頁中用我們喜歡的瀏覽器或者下載管理器下載了名為 docker-install.exe 的文件。

2. 安裝 Boot2Docker

現在我們運行安裝文件,它會安裝 Window Docker 客戶端、用于 Windows 的 Git(MSYS-git)、VirtualBox、Boot2Docker Linux ISO 以及 Boot2Docker 管理工具,這些對于開箱即用地運行全功能的 Docker 引擎都至關重要。

3. 運行 Boot2Docker

安裝完成必要的組件之后,我們從桌面上的“Boot2Docker Start”快捷方式啟動 Boot2Docker。它會要求你輸入以后用于驗證的 SSH 密鑰。然后會啟動一個配置好的用于管理在虛擬機中運行的 Docker 的 unix shell。

為了檢查是否正確配置,運行下面的 docker version 命令。

docker version

4. 運行 Docker

由于 Boot2Docker Start 自動啟動了一個已經正確設置好環境變量的 shell,我們可以馬上開始使用 Docker。請注意,如果我們要將 Boot2Docker 作為一個遠程 Docker 守護進程,那么不要在 docker 命令之前加 sudo。

現在,讓我們來試試 hello-world 例子鏡像,它會下載 hello-world 鏡像,運行并輸出 "Hello from Docker" 信息。

$ docker run hello-world

5. 使用命令提示符(CMD) 運行 Docker

現在,如果你想開始用命令提示符使用 Docker,你可以打開命令提示符(CMD.exe)。由于 Boot2Docker 要求 ssh.exe 在 PATH 中,我們需要在命令提示符中輸入以下命令使得 %PATH% 環境變量中包括 Git 安裝目錄下的 bin 文件夾。

set PATH=%PATH%;"c:\Program Files (x86)\Git\bin"

運行上面的命令之后,我們可以在命令提示符中運行 boot2docker start 啟動 Boot2Docker 虛擬機。

boot2docker start

注意: 如果你看到 machine does no exist 的錯誤信息,就運行 boot2docker init 命令。

然后復制上圖中控制臺標出命令到 cmd.exe 中為控制臺窗口設置環境變量,然后我們就可以像平常一樣運行 docker 容器了。

6. 使用 PowerShell 運行 Docker

為了能在 PowerShell 中運行 Docker,我們需要啟動一個 PowerShell 窗口并添加 ssh.exe 到 PATH 變量。

$Env:Path="${Env:Path};c:\Program Files (x86)\Git\bin"

運行完上面的命令,我們還需要運行

boot2docker start

這會打印用于設置環境變量連接到虛擬機內部運行的 Docker 的 PowerShell 命令。我們只需要在 PowerShell 中運行這些命令就可以和平常一樣運行 docker 容器。

7. 用 PUTTY 登錄

Boot2Docker 會在%USERPROFILE%.ssh 目錄生成和使用用于登錄的公共和私有密鑰,我們也需要使用這個文件夾中的私有密鑰。私有密鑰需要轉換為 PuTTY 的格式。我們可以通過 puttygen.exe 實現。

我們需要打開 puttygen.exe 并從 %USERPROFILE%.ssh\id_boot2docker 中導入("File"-"Load" 菜單)私鑰,然后點擊 "Save Private Key"。然后用保存的文件通過 PuTTY 用 docker@127.0.0.1:2022 登錄。

8. Boot2Docker 選項

Boot2Docker 管理工具提供了一些命令,如下所示。

如何進入 Docker 容器

如何進入Docker容器

概述

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

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

使用docker attach

使用SSH

使用nsenter

使用exec

下面我們來逐一講一下每種方式。

一、使用docker attach進入Docker容器

Docker提供了attach命令來進入Docker容器。

接下來我們創建一個守護態的Docker容器,然后使用docker attach命令進入該容器。

[plain] view plain copy

$ sudo docker run -itd ubuntu:14.04 /bin/bash

然后我們使用docker ps查看到該容器信息,接下來就使用docker attach進入該容器

[plain] view plain copy

$ sudo docker attach 44fc0f0582d9

可以看到我們已經進入到該容器中了。

但在,使用該命令有一個問題。當多個窗口同時使用該命令進入該容器時,所有的窗口都會同步顯示。如果有一個窗口阻塞了,那么其他窗口也無法再進行操作。下來我們來演示一下。打開兩個窗口,都使用attach命令進入同一個容器里面。如下所示:

接下來我們只在第一個窗口進行操作,可以看到第一個窗口的操作同步到第二個窗口顯示了,如下:

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

二、使用SSH進入Docker容器

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

Why you don't need to run SSHd in your Docker containers

上面這篇文章是英文的,如果英語不好的話可以參考如下譯文

為什么不需要在 Docker 容器中運行 sshd

三、使用nsenter進入Docker容器

在上面兩種方式都不適合的情況下,還有一種比較方便的方法,即使用nsenter進入Docker容器。關于什么是nsenter請參考如下文章:

在了解了什么是nsenter之后,我們需要把nsenter安裝到主機中(注意是主機而非容器或鏡像),具體的安裝命令如下:

[plain] view plain copy

$ wget https:/。。。r.gz

$ tar -xzvf util-linux-2.24.tar.gz

$ cd util-linux-2.24/

$ ./configure --without-ncurses

$ make nsenter

$ sudo cp nsenter /usr/local/bin

安裝好nsenter之后可以查看一下該命令的使用。

nsenter可以訪問另一個進程的名稱空間。所以為了連接到某個容器我們還需要獲取該容器的第一個進程的PID。可以使用docker inspect命令來拿到該PID。

docker inspect命令使用如下:

[plain] view plain copy

$ sudo docker inspect --help

inspect命令可以分層級顯示一個鏡像或容器的信息。比如我們當前有一個正在運行的容器

可以使用docker inspect來查看該容器的詳細信息。

[plain] view plain copy

$ sudo docker inspect 44fc0f0582d9

由其該信息非常多,此處只截取了其中一部分進行展示。如果要顯示該容器第一個進行的PID可以使用如下方式

[plain] view plain copy

$ sudo docker inspect -f {{.State.Pid}} 44fc0f0582d9

在拿到該進程PID之后我們就可以使用nsenter命令訪問該容器了。

[plain] view plain copy

$ sudo nsenter --target 3326 --mount --uts --ipc --net --pid

其中的3326即剛才拿到的進程的PID

當然,如果你認為每次都輸入那么多參數太麻煩的話,網上也有許多做好的腳本供大家使用。

地址如下:

四、使用docker exec進入Docker容器

除了上面幾種做法之外,docker在1.3.X版本之后還提供了一個新的命令exec用于進入容器,這種方式相對更簡單一些,下面我們來看一下該命令的使用:

[plain] view plain copy

$ sudo docker exec --help

接下來我們使用該命令進入一個已經在運行的容器

[plain] view plain copy

$ sudo docker ps

$ sudo docker exec -it 775c7c9ee1e1 /bin/bash

網上還有一種做法是使用nsinit,沒有親身實踐過所以不在此羅列了,有興趣的話可以嘗試一下。

如何用Docker 管理 Linux Container 容器與網絡設置

當前Ubuntu 系統下的 Docker 的安裝包只提供64位。如果你想運行32位的 Docker,你需要。

安裝 Docker

通過 apt-get 安裝 Docker 簡直是小菜一碟。

$ sudo apt-get install docker.io

如果你不是 root 組的用戶,你可以把自己加入到 docker 用戶組。下面的命令可以讓沒有 root 權限的用戶使用 Docker:

$ sudo usermod -a -G docker $USER

重新登錄,以便讓你的用戶組權限生效。

下一步是編輯 Docker 配置文件,確定 Docker 可執行文件的路徑:

$ sudo vi /etc/default/docker.io

DOCKER= /usr/bin/docker.io

重啟 Docker 服務:

$ sudo service docker.io restart

管理 Docker Container 容器

如果你想在新的 Docker 容器下創建一個新的 Ubuntu 操作系統,你首先需要 pull 一個 的 Docker 鏡像。下面的命令可以通過網絡下載 Docker 鏡像:

$ docker pull ubuntu

你可以使用下面的命令啟動 Docker 里面的 Ubuntu 系統。最后的參數 /bin/bash 表示一旦容器啟動,首先會執行簡單的 bash。

$ docker run -i -t ubuntu /bin/bash

上面的命令會立即啟動 Ubuntu container 容器(這是一個完美的容器!),然后它會提供一個 shell 提示符運行環境給你。現在開始你可以通過這個沙箱環境訪問一個完整的 Ubuntu 系統了。

輸入 exit 命令退出 Docker 容器。

你也可以用下面的命令進入不同的系統。比如 Fedora:

$ docker.io run -i -t fedora /bin/bash

如果系統中還不存在 Fedora Docker 鏡像,這個命令會自動下載它,然后啟動這個 Fedora 的 Docker 容器。

如果你想要開啟指定版本的系統,比如 Ubuntu 13.04,你可以使用下面的命令:

$ docker.io run -i -t ubuntu:13.04 /bin/bash

Container 容器網絡設置

Docker 使用 Linux 橋接技術與其他容器通信,以及連通外網。安裝完 Docker 后你應該可以看到 docker0 這個網橋,這是 Docker 默認創建的。你創建的每個容器都會通過這個網橋連接到網絡。

自定義 Linux 網橋

如果你想自定義網橋,你可以執行以下步驟。你可以在這個網橋后面分配一個子網,并為這個子網分配地址。下面的命令會為 Docker 子網分配 10.0.0.0/24 地址段:

$ sudo apt-get install bridge-utils

$ sudo brctl addbr br0

$ sudo ifconfig br0 10.0.0.1 netmask 255.255.255.0

然后在 /etc/default/docker.io 文件的 DOCKER_OPTS 變量里添加 -b=br0 選項,并重啟 Docker 服務:

$ sudo service docker.io restart

到目前為止,任何創建的容器都會連上 br0 網橋,它們的 IP 地址會從 10.0.0.0/24 中自動分配(譯注:在10.0.0.2到10.0.0.254之間隨機分配)。

其他自定義設置

你可以通過 /etc/default/docker.io 文件的 DOCKER_OPTS 變量設置其他一些屬性:

-dns 8.8.8.8 -dns 8.8.4.4 : 為容器指定 DNS 服務器。

-icc=false : 將容器與其他容器隔離出來

疑難解答

1、當你運行 docker.io 命令時,你可能會遇到以下問題:

dial unix /var/run/docker.sock: no such file or directory

這個錯誤可能是由于 Docker 后臺進程沒有啟動。檢查下 Docker 后臺進程的狀態,確認它已經處于啟動狀態:

$ sudo service docker.io status$ sudo service docker.io start

分享標題:Linux進容器命令,進容器的命令
地址分享:http://vcdvsql.cn/article38/dsigcpp.html

成都網站建設公司_創新互聯,為您提供網站維護企業網站制作自適應網站電子商務品牌網站建設手機網站建設

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

微信小程序開發