真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux退出容器命令,linux怎么退出容器

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

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

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括頭屯河網(wǎng)站建設(shè)、頭屯河網(wǎng)站制作、頭屯河網(wǎng)頁(yè)制作以及頭屯河網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,頭屯河網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到頭屯河省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

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

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

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

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

yum -y update # 更新軟件包

yum install which # 安裝which命令

yum install git # 安裝Git

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

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

CONTAINER ID IMAGE COMMAND CREATED……

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

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

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

sudo docker commit da90 custom/base

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

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ǔ),運(yùn)行一個(gè)新的容器。

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

# 安裝 httpd

yum install httpd

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

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

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

sudo docker commit aa6e2fc0b94c custom/httpd

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

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

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

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

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

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

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

# 啟動(dòng) Apache

apachectl -k start

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

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

安裝 Docker

通過(guò) apt-get 安裝 Docker 簡(jiǎn)直是小菜一碟。

$ 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)建一個(gè)新的 Ubuntu 操作系統(tǒng),你首先需要 pull 一個(gè) 的 Docker 鏡像。下面的命令可以通過(guò)網(wǎng)絡(luò)下載 Docker 鏡像:

$ docker pull ubuntu

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

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

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

輸入 exit 命令退出 Docker 容器。

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

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

如果系統(tǒng)中還不存在 Fedora Docker 鏡像,這個(gè)命令會(huì)自動(dòng)下載它,然后啟動(dòng)這個(gè) 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 這個(gè)網(wǎng)橋,這是 Docker 默認(rèn)創(chuàng)建的。你創(chuàng)建的每個(gè)容器都會(huì)通過(guò)這個(gè)網(wǎng)橋連接到網(wǎng)絡(luò)。

自定義 Linux 網(wǎng)橋

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

$ sudo service docker.io restart

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

其他自定義設(shè)置

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

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

-icc=false : 將容器與其他容器隔離出來(lái)

疑難解答

1、當(dāng)你運(yùn)行 docker.io 命令時(shí),你可能會(huì)遇到以下問(wèn)題:

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

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

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

php如何通過(guò)linux命令,在docker中執(zhí)行一個(gè)文件并且接收docker容器中執(zhí)行之后,控制臺(tái)的返回的結(jié)果?

Docker中我們一般會(huì)有兩種執(zhí)行命令的方式,一種是直接進(jìn)入容器的命令行,在終端執(zhí)行并查看結(jié)果,一種是在后臺(tái)執(zhí)行,并不會(huì)在終端查看結(jié)果。

1、進(jìn)入容器命令行

su root

docker run -i -t ubuntu:16.04/bin/bash#或者執(zhí)行下面這句docker run -it ubuntu:16.04/bin/bash

-i和-t的作用是幫助你進(jìn)入交互模式,如果不加這部分,你將無(wú)法進(jìn)入容器內(nèi)部,更別說(shuō)使用命令行了。/bin/bash的意思就是使用容器的命令行來(lái)輸入命令。執(zhí)行結(jié)果如下:

root@7d150a0fb029:/#

root后面跟的就是容器id,表明你已經(jīng)進(jìn)入容器,可以輸入命令了,你可以輸入一些常用命令試試:

root@7d150a0fb029:/# docker run -i -t ubuntu:16.04 /bin/bash

結(jié)果輸出了鏡像的內(nèi)核版本信息:

Linux version 4.13.0-36-generic (buildd@lgw01-amd64-033)(gcc version 5.4.020160609(Ubuntu5.4.0-6ubuntu1~16.04.9))#40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018

通過(guò)exit可退出容器。

2、后臺(tái)執(zhí)行命令

輸入下面的代碼,-d表示的就是后臺(tái)運(yùn)行,這點(diǎn)可以直接通過(guò)docker run –help查看該命令的功能。下面這句話的意思就是在鏡像的程序中添加引號(hào)內(nèi)的代碼,并在后臺(tái)運(yùn)行。

docker run -d ubuntu:16.04 /bin/sh -c "while true; do echo hello world; sleep 1;done"

輸出結(jié)果不會(huì)顯示運(yùn)行的結(jié)果,而是給出新建的容器id,這里說(shuō)明一下,每次輸入docker run命令都會(huì)新建一個(gè)容器,產(chǎn)生一個(gè)新的id。

輸出結(jié)果如下:

c7188be9bd7b5c0aa91c5eeb72013996c89bfdc2181d1a5ff7f880af6f8aff99

查看一下正在運(yùn)行的容器:

root@cdl-XPS15R:/home/cdl# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

c7188be9bd7b ubuntu:16.04"/bin/sh -c 'while t…"13 seconds ago Up11 seconds keen_vaughan1b6ba17f7df7 ubuntu:16.04"/bin/bash"2 minutes ago Exited(0)2 minutes ago cocky_noether7d150a0fb029 ubuntu:16.04"/bin/bash"4 minutes ago Exited(0)2 minutes ago hopeful_banach

這里會(huì)發(fā)現(xiàn),第一個(gè)容器的id和后臺(tái)運(yùn)行的容器id前幾位一模一樣,但是長(zhǎng)度要長(zhǎng)很多,其實(shí)是一樣的,只不過(guò)通過(guò)ps命令打印輸出時(shí)為了方便顯示只顯示了前幾位。

如果想要進(jìn)入后臺(tái)運(yùn)行的容器的命令行而不創(chuàng)建新的容器,只需要輸入以下命令:

#Exec是進(jìn)入已經(jīng)存在的容器,run是創(chuàng)建新容器docker Exec-it c7188be9bd7b /bin/bash

輸入哪個(gè)更長(zhǎng)的id也是一樣的效果:

docker Exec -it c7188be9bd7b5c0aa91c5eeb72013996c89bfdc2181d1a5ff7f880af6f8aff99 /bin/bash

輸出結(jié)果都是:

root@c7188be9bd7b:/#


本文題目:linux退出容器命令,linux怎么退出容器
網(wǎng)頁(yè)地址:http://weahome.cn/article/hojpse.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部