AdSense

網頁

2020/5/31

Docker run centos container

在docker安裝並執行centos container並登入其bash介面的方式如下。

在docker環境執行docker pull centos下載docker centos images。

$ docker pull centos
latest: Pulling from library/centos

Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
Status: Downloaded newer image for centos:latest

使用docker run -it centos bash命令執行centos image來建立centos container並登入其bach指令介面。-it參數實際為--interactive(互動模式,保持STDIN開啟)與--tty(pseudo-terminal,偽終端)的組合。兩參數的作用為執行centos container時登入其bash並可輸入參數。

$ docker run -it centos
[root@b5d386fa6fac /]# 

執行後即會進入centos container的bash。命令行提示符root@b5d386fa6fac後面的英文數字為container id。

使用linux的ls檢視目錄。

[root@b5d386fa6fac /]# ls
bin  etc   lib    lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr

使用cat /etc/*release*指令列出centos版本。

[root@b5d386fa6fac /]# cat /etc/*release*
CentOS Linux release 8.1.1911 (Core)
Derived from Red Hat Enterprise Linux 8.1 (Source)
NAME="CentOS Linux"
VERSION="8 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="8"

CentOS Linux release 8.1.1911 (Core)
CentOS Linux release 8.1.1911 (Core)
cpe:/o:centos:centos:8

使用exit離開centos container bash。

[root@b5d386fa6fac /]# exit
$

離開後centos container就會停止運行。


若要讓centos container保持在背景持續運行,使用docker run -t -d centos指令。-d--detach參數的簡寫,效果為在背景執行命令。

$ docker run -t -d centos
de44e585d3cf8a8048a006c57fc9a7e4acfa5c228616ff3b2422244b903f9dab

查詢在運行的容器,CONTAINER_ID=de44e585d3cf即為在背景運行的centos container。

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS        NAMES
de44e585d3cf        centos              "/bin/bash"         4 seconds ago       Up 3 seconds                     hardcore_brown

若要對運行的容器直接下達命令,使用docker exec <CONTAINER_ID> <command>CONTAINER_ID是容器的id,例如de44e585d3cf。此外也可以用CONTAINER_NAME容器名稱例如hardcore_brown指名要執行命令的container;command為要下達的命令。

例如下面對剛在背景執行的centos container執行ls命令。

$ docker exec de44e585d3cf ls
bin
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var

沒有留言:

AdSense