欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Linux進(jìn)容器命令,進(jìn)容器的命令

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

步驟1:為我們的容器創(chuàng)建第一個鏡像

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

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

# 注:-t -i 參數(shù)用于創(chuàng)建一個虛擬的命令行。

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

現(xiàn)在我們已經(jīng)成功的運行了自己的第一個容器,并且進(jìn)入到容器的命令行界面中。在容器中,我們執(zhí)行下面的命令:

yum -y update # 更新軟件包

yum install which # 安裝which命令

yum install git # 安裝Git

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

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

CONTAINER ID IMAGE COMMAND CREATED……

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

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

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

sudo docker commit da90 custom/base

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

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:創(chuàng)建新的容器,并安裝 apache

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

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

# 安裝 httpd

yum install httpd

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

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

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

sudo docker commit aa6e2fc0b94c custom/httpd

你應(yīng)該已經(jīng)發(fā)現(xiàn)了,我們創(chuàng)建了一個帶有 http 服務(wù)器并可以復(fù)用的容器鏡像。你可以根據(jù)這種思想,為自己所需的每個組件都創(chuàng)建一個容器,然后把這些容器復(fù)用于開發(fā)環(huán)境或者生產(chǎn)環(huán)境。

步驟7:運行 http 服務(wù)器

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

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

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

# -p 參數(shù)把虛擬機的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系統(tǒng)Docker命令怎么用

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

1. 下載 Boot2Docker

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

2. 安裝 Boot2Docker

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

3. 運行 Boot2Docker

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

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

docker version

4. 運行 Docker

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

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

$ docker run hello-world

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

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

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

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

boot2docker start

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

然后復(fù)制上圖中控制臺標(biāo)出命令到 cmd.exe 中為控制臺窗口設(shè)置環(huán)境變量,然后我們就可以像平常一樣運行 docker 容器了。

6. 使用 PowerShell 運行 Docker

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

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

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

boot2docker start

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

7. 用 PUTTY 登錄

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

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

8. Boot2Docker 選項

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

如何進(jìn)入 Docker 容器

如何進(jìn)入Docker容器

概述

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

進(jìn)入Docker容器比較常見的幾種做法如下:

使用docker attach

使用SSH

使用nsenter

使用exec

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

一、使用docker attach進(jìn)入Docker容器

Docker提供了attach命令來進(jìn)入Docker容器。

接下來我們創(chuàng)建一個守護態(tài)的Docker容器,然后使用docker attach命令進(jìn)入該容器。

[plain] view plain copy

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

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

[plain] view plain copy

$ sudo docker attach 44fc0f0582d9

可以看到我們已經(jīng)進(jìn)入到該容器中了。

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

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

因為這個原因,所以docker attach命令不太適合于生產(chǎn)環(huán)境,平時自己開發(fā)應(yīng)用時可以使用該命令。

二、使用SSH進(jìn)入Docker容器

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

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

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

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

三、使用nsenter進(jìn)入Docker容器

在上面兩種方式都不適合的情況下,還有一種比較方便的方法,即使用nsenter進(jìn)入Docker容器。關(guān)于什么是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可以訪問另一個進(jìn)程的名稱空間。所以為了連接到某個容器我們還需要獲取該容器的第一個進(jìn)程的PID??梢允褂胐ocker inspect命令來拿到該PID。

docker inspect命令使用如下:

[plain] view plain copy

$ sudo docker inspect --help

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

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

[plain] view plain copy

$ sudo docker inspect 44fc0f0582d9

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

[plain] view plain copy

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

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

[plain] view plain copy

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

其中的3326即剛才拿到的進(jìn)程的PID

當(dāng)然,如果你認(rèn)為每次都輸入那么多參數(shù)太麻煩的話,網(wǎng)上也有許多做好的腳本供大家使用。

地址如下:

四、使用docker exec進(jìn)入Docker容器

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

[plain] view plain copy

$ sudo docker exec --help

接下來我們使用該命令進(jìn)入一個已經(jīng)在運行的容器

[plain] view plain copy

$ sudo docker ps

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

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

如何用Docker 管理 Linux Container 容器與網(wǎng)絡(luò)設(shè)置

當(dāng)前Ubuntu 系統(tǒng)下的 Docker 的安裝包只提供64位。如果你想運行32位的 Docker,你需要。

安裝 Docker

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

$ sudo apt-get install docker.io

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

$ sudo usermod -a -G docker $USER

重新登錄,以便讓你的用戶組權(quán)限生效。

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

$ sudo vi /etc/default/docker.io

DOCKER= /usr/bin/docker.io

重啟 Docker 服務(wù):

$ sudo service docker.io restart

管理 Docker Container 容器

如果你想在新的 Docker 容器下創(chuàng)建一個新的 Ubuntu 操作系統(tǒng),你首先需要 pull 一個 的 Docker 鏡像。下面的命令可以通過網(wǎng)絡(luò)下載 Docker 鏡像:

$ docker pull ubuntu

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

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

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

輸入 exit 命令退出 Docker 容器。

你也可以用下面的命令進(jìn)入不同的系統(tǒng)。比如 Fedora:

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

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

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

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

Container 容器網(wǎng)絡(luò)設(shè)置

Docker 使用 Linux 橋接技術(shù)與其他容器通信,以及連通外網(wǎng)。安裝完 Docker 后你應(yīng)該可以看到 docker0 這個網(wǎng)橋,這是 Docker 默認(rèn)創(chuàng)建的。你創(chuàng)建的每個容器都會通過這個網(wǎng)橋連接到網(wǎng)絡(luò)。

自定義 Linux 網(wǎng)橋

如果你想自定義網(wǎng)橋,你可以執(zhí)行以下步驟。你可以在這個網(wǎng)橋后面分配一個子網(wǎng),并為這個子網(wǎng)分配地址。下面的命令會為 Docker 子網(wǎng)分配 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 服務(wù):

$ sudo service docker.io restart

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

其他自定義設(shè)置

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

-dns 8.8.8.8 -dns 8.8.4.4 : 為容器指定 DNS 服務(wù)器。

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

疑難解答

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

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

這個錯誤可能是由于 Docker 后臺進(jìn)程沒有啟動。檢查下 Docker 后臺進(jìn)程的狀態(tài),確認(rèn)它已經(jīng)處于啟動狀態(tài):

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

分享標(biāo)題:Linux進(jìn)容器命令,進(jìn)容器的命令
地址分享:http://aaarwkj.com/article38/dsigcpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、企業(yè)網(wǎng)站制作、自適應(yīng)網(wǎng)站電子商務(wù)、品牌網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)

廣告

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

微信小程序開發(fā)
在线视频一区二区三区精品观看| av天堂官网在线人妻| 快播av手机在线播放| 成年黄网站免费视频大全| 国产性做爰片免费网站| 国产黄色片网站在线观看| 欧美亚洲午夜精品久久久| 欧美日韩激情中文字幕| 国产三级在线播放完整| 东京热男人的天堂色狠爱| 黄色三级视频久久久| 欧美成人日本在线播放| 麻豆一精品传二传媒短视频| 亚洲精品偷拍在线观看| 久久精品无人区乱码一区二区| 欧美日韩精品国产精品| 久久九九亚洲欧美中文字幕| 亚洲天堂福利视频网站| 中国亚洲黄色录像免费看| 黑寡妇精品欧美一区二区毛| 欧美日韩亚洲精品一区二区三区 | 欧美精品国产亚洲另类| 手机不卡高清播放一区二区| 欧美综合亚洲韩精品区| 亚洲欧美一区二区粉嫩| 午夜一区二区精品视频国产| 亚洲精品自拍一二三四区 | 久久精品国产亚洲av热老太| 欧美日韩国产一区在线观看| 中国吞精囗交免费视频| 白白色最新福利视频二| 天天操操操操操操夜夜爽| 粉嫩国产精品一区二区| 国产精品日韩欧美一区二区| 国产亚洲精品久在线| 欧美日韩国产另类久久| 亚洲精品一区二区播放| 91亚色在线免费观看| 日韩不卡永久免费视频观看| 精品一区二区三区高清| 日韩精品在线免费观看了|