溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker容器的安裝和使用

發(fā)布時(shí)間:2020-05-26 15:17:12 來(lái)源:億速云 閱讀:356 作者:鴿子 欄目:云計(jì)算

一、Docker簡(jiǎn)介

Docker容器的安裝和使用

Docker容器的安裝和使用

二、Docker安裝

[root@lamp sky9890]# yum install docker 

[root@lamp sky9890]# systemctl start docker.service   #啟動(dòng)Docker服務(wù)

[root@lamp sky9890]# systemctl enable docker.service  #隨系統(tǒng)啟動(dòng)自動(dòng)加載

[root@lamp sky9890]# docker     #查看docker客戶端

[root@lamp sky9890]# docker -v   #版本

Docker version 1.13.1, build 4ef4b30/1.13.1

三、獲取鏡像

鏡像是一個(gè)模板,可以從鏡像服務(wù)器上獲取做好的鏡像。docker使用docker pull命令來(lái)獲取需要的鏡像。

下別分別獲取centos、ubuntu、tomcat、nginx、mysql、mongo等鏡像。

1.從docker鏡像中查找可用nginx鏡像版本獲取鏡像

[root@lamp sky9890]# docker search centos

[root@lamp sky9890]# docker search ubuntu

[root@lamp sky9890]# docker search tomcat

 [root@lamp sky9890]# docker search nginx

2.從docker鏡像中下載需要的版本

[root@lamp sky9890]# docker pull centos

[root@lamp sky9890]# docker pull mysql

[root@lamp sky9890]# docker pull tomcat

[root@lamp sky9890]# docker pull mysql:latest 

[root@lamp sky9890]# docker pull python:3.5  

[root@lamp sky9890]# docker pull mongo:latest

3.顯示本地已經(jīng)下載的鏡像

[root@lamp sky9890]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

docker.io/tomcat    latest              4e7840b49fad        3 days ago          529 MB

docker.io/nginx     latest              a1523e859360        4 days ago          127 MB

docker.io/python    3.5                 0320ef7199ca        4 days ago          909 MB

docker.io/mysql     latest              c8ad2be69a22        4 days ago          465 MB

docker.io/php       latest              e66ae809d99a        4 days ago          405 MB

docker.io/httpd     latest              c5a012f9cf45        4 days ago          165 MB

docker.io/mongo     latest              bcef5fd2979d        9 days ago          386 MB

docker.io/ubuntu    latest              72300a873c2c        9 days ago          64.2 MB

docker.io/centos    latest              470671670cac        6 weeks ago         237 MB

三、如何使用容器

1.使用 docker run 命令來(lái)在容器內(nèi)運(yùn)行一個(gè)應(yīng)用程序。

[root@lamp sky9890]# docker run ubuntu /bin/echo "Hello World"

Hello World

2.運(yùn)行交換式的容器

[root@lamp sky9890]# docker run -i -t  ubuntu /bin/bash

root@1c7c38a6f99a:/# 

root@1c7c38a6f99a:/# cat /proc/version 

Linux version 3.10.0-862.11.6.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 

SMP Tue Aug 14 21:49:04 UTC 2018

root@1c7c38a6f99a:/# ls

bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

root@1c7c38a6f99a:/usr# exit

exit

3.啟動(dòng)容器(后臺(tái)模式)

[root@lamp sky9890]# docker run -d ubuntu /bin/sh -c "while true;do echo hello world; sleep 1; done"

1f77ab03073f192d18737110bf97ec04b72524fb34e3a570571d4cac6b4e5b31

4.查看docker進(jìn)程

[root@lamp sky9890]# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES

1f77ab03073f        ubuntu              "/bin/sh -c 'while..."   38 seconds ago      Up 36 seconds    competent_ramanujan

8778ad75ade3        ubuntu              "/bin/bash"              14 minutes ago      Up 14 minutes      ubuntu-test

7757db1528de        ubuntu              "/bin/bash"              19 minutes ago      Up 15 minutes     distracted_austin

輸出詳情介紹:

CONTAINER ID: 容器 ID。

IMAGE: 使用的鏡像。

COMMAND: 啟動(dòng)容器時(shí)運(yùn)行的命令。

CREATED: 容器的創(chuàng)建時(shí)間。

STATUS: 容器狀態(tài)。

狀態(tài)有7種:

created(已創(chuàng)建)

restarting(重啟中)

running(運(yùn)行中)

removing(遷移中)

paused(暫停)

exited(停止)

dead(死亡)

PORTS: 容器的端口信息和使用的連接類型(tcp\udp)。

NAMES: 自動(dòng)分配的容器名稱。

5.查看容器的標(biāo)準(zhǔn)輸出

[root@lamp sky9890]# docker  logs  1f77ab03073f 

hello world

hello world

......

6.停止容器

[root@lamp sky9890]# docker stop  1f77ab03073f     

1f77ab03073f

[root@lamp sky9890]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

8778ad75ade3        ubuntu              "/bin/bash"         18 minutes ago      Up 17 minutes                           ubuntu-test

7757db1528de        ubuntu              "/bin/bash"         22 minutes ago      Up 18 minutes                           distracted_austin

7.刪除容器

[root@lamp sky9890]#docker  rm -f 1f77ab03073f

四、Docker實(shí)例安裝 

1.Docker安裝CentOS

[root@lamp sky9890]# docker run -itd --name centos-test centos  

f2896d1d87c996685c7c98fb9c85241a10483fb1f2dcd843a4b0d6cab212d636

#通過(guò)exec運(yùn)行容器

[root@lamp sky9890]# docker exec -it centos-test /bin/bash

[root@f2896d1d87c9 /]# exit

[root@lamp sky9890]# docker ps  #安裝成功

CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES

f2896d1d87c9        centos              "/bin/bash"         About a minute ago   Up About a minute                       centos-test

8778ad75ade3        ubuntu              "/bin/bash"         34 minutes ago       Up 34 minutes                           ubuntu-test

7757db1528de        ubuntu              "/bin/bash"         39 minutes ago       Up 35 minutes                           distracted_austin

2.Docker安裝nginx

#運(yùn)行容器

[root@lamp sky9890]# docker run --name nginx-test -p 8080:80 -d nginx

5f4aa091f8244b4f21a585b8426240218312b90f46dc23f8cfdc825f1a981b6e

參數(shù)說(shuō)明:

  • --name nginx-test:容器名稱。

  • -p 8080:80: 端口進(jìn)行映射,將本地 8080 端口映射到容器內(nèi)部的 80 端口。

  • -d nginx: 設(shè)置容器在在后臺(tái)一直運(yùn)行。

測(cè)試

Docker容器的安裝和使用

五、在容器中的相關(guān)操作

1.啟動(dòng)CentOS容器

[root@lamp sky9890]# docker run -it centos /bin/bash

[root@b90d59c23a38 /]# lsb_release

bash: lsb_release: command not found

[root@b90d59c23a38 /]# yum install redhat-lsb -y

[root@b90d59c23a38 /]# lsb_release  -a

LSB Version:    :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-

amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch

Distributor ID: CentOS

Description:    CentOS Linux release 8.1.1911 (Core) 

Release:   8.1.1911

Codename:   Core

2.啟動(dòng)Ubuntu容器

root@737d61040022:/# lsb-release  -a

bash: lsb-release: command not found

root@737d61040022:/# apt-get install lsb-release

Reading package lists... Done

Building dependency tree       

Reading state information... Done

E: Unable to locate package lsb-release

#出現(xiàn)上述原因,說(shuō)明需要更新APT庫(kù)

root@737d61040022:/# apt-get update

Reading package lists... Done

E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)

E: Unable to lock directory /var/lib/apt/lists/

#出現(xiàn)上述原因,是由于資源被鎖的原因,可能是上次安裝時(shí)沒(méi)正常完成,而導(dǎo)致出現(xiàn)此狀況。需要執(zhí)行下面兩條命令:

root@737d61040022:/# rm /var/cache/apt/archives/lock 

root@737d61040022:/# rm /var/lib/apt/lists/lock

root@737d61040022:/# apt-get update  #更新軟件列表

root@737d61040022:/# apt-get upgrade  #更新軟件

root@737d61040022:/# apt-get install lsb-release

Reading package lists... Done

.........

root@737d61040022:/# lsb_release  -a

No LSB modules are available.

Distributor ID: Ubuntu

Description:   Ubuntu 18.04.4 LTS

Release:     18.04

Codename:   bionic

root@737d61040022:/# apt-get install lsb-core

六、解決docker pull 速度慢的問(wèn)題

#vi  /etc/docker/daemon.json 文件中添加以下參數(shù)(沒(méi)有該文件則新建):

{

  "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]

}

#systemctl daemon-reload

#systemctl restart docker

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI