首頁 > 軟體

docker容器安裝及部署的超詳細入門教學

2022-08-01 14:02:05

1.安裝docker

(1)解除安裝以前安裝的Docker容器

sudo yum remove docker  docker-client  docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate ocker-engine

(2)安裝docker

yum install -y docker

(3)檢視docker是否安裝成功

yum list installed |grep docker

(4)啟動docker服務(並設定開機自啟)

systemctl start docker.service
systemctl enable docker.service

(5)檢視docker服務狀態 running 就是啟動成功

systemctl status docker

(6)使用docker映象

systemctl status docker

(7)設定docker國內映象(中國科學技術大學)

在宿主機器編輯檔案:vim /etc/docker/daemon.json
請在該組態檔中加入(沒有該檔案的話,請先建一個):
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

(8)最後,需要重啟docker服務

systemctl restart docker.service

2.docker 安裝 redis

(1)拉取redis映象

docker pull redis

(2)檢視本地映象

docker images

(3)執行容器

docker run -itd --name redis-test -p 6379:6379 redis

(4)安裝成功 檢視容器的執行資訊

docker ps

(5)連線測試使用 redis 服務

docker exec -it redis-test /bin/bash

(6)退出

exit

3.docker 安裝rabbitmq

(1)下載映象

docker pull rabbitmq:3.7-management

(2)檢視映象

docker images

(3)建立rabbitmq容器

docker run -d --name myrabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.7-management
5672是專案中連線rabbitmq的埠(我這裡對映的是5672),15672是rabbitmq的web管理介面埠(我對映為15672) 初始賬號:guest 初始密碼:guest 

(4)檢視容器

docker ps

4.docker 安裝postgresql

(1)拉取映象

docker pull postgres:9.6

(2)啟動容器

docker run --name postgres -e POSTGRES_PASSWORD=password -p 5432:5432 -v /usr/postgresql/data:/var/lib/postgresql/data -d postgres
埠對映的是5432 
run: 建立並執行一個容器;
--name: 指定建立的容器的名字;
-e POSTGRES_PASSWORD=password: 設定環境變數,指定資料庫的登入口令為password;
-p 5432:5432: 埠對映將容器的5432埠對映到外部機器的5432埠;
-d postgres 指定使用postgres作為映象。
登入的初始使用者:postgres 登入的初始密碼:password

(3)檢視容器

docker ps

5.docker 安裝jdk 並設定環境變數

(1)docker下載centos映象(用作設定jdk環境系統)

docker pull centos  #版本號可以自己加,預設拉取最新的

(2)檢視本地映象

docker images
例如: REPOSITORY 映象名稱;TAG 映象標籤 (後面可用於釋出到個人dockerhub上); IMAGE ID 是映象ID;CREATED 建立時間;SIZE 大小
[root@VM_0_9_centos etc]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              3639174793ba        6 weeks ago         463MB
mysql               latest              990386cbd5c0        7 weeks ago         443MB
centos              latest              9f38484d220f        3 months ago        202MB
hello-world         latest              fce289e99eb9        6 months ago        1.84kB

(3)建立容器

容器是基於映象建立的,執行映象生成容器,方可進入容器
啟動容器命令: docker run <相關引數> <映象 ID> <初始命令>
docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash
引數解析
  -i:表示以「互動模式」執行容器
  -t:表示容器啟動後會進入其命令列
  -v:表示需要將本地哪個目錄掛載到容器中,格式:-v <宿主機目錄>:<容器目錄>
  /bin/bash:一旦容器啟動,需要執行的命令,當前使用 "/bin/bash", 表示啟動後直接進bash shell
 
  /root/software是宿主機器(Linux)上建立的一個資料夾;
 
  /mnt/software是centos的容器裡面的目錄檔案
 
  這裡掛載的意思就是 9f38484d220f 建立的容器存取 /mnt/software/ 目錄下的檔案就相當於存取 宿主機的 /root/software/下的檔案,且兩者資料夾裡內容相同 

(4)退出容器

exit

(5)進入容器後的檢視命令

docker ps : 檢視當前執行的容器資訊(上面的退出方式就會預設關閉容器)
docker ps -a : 檢視關閉的容器

(6)啟動容器和進入容器

docker start [容器ID]:啟動容器
docker exec -it [容器ID] /bin/bash : 進入容器
這裡還是以 docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash 命令進入容器

(7)在容器內部安裝jdk1.8

下載 jdk的 tar包,通過ftp工具上傳到宿主伺服器的/root/software/檔案下,因為前面做了掛載,所以待會進入docker容器裡的/mnt/software/資料夾下也是可以看到的 

 (8)進入centos容器中的/mnt/software資料夾

docker run -i -t -v /root/software/:/mnt/software/ 9f38484d220f /bin/bash  進入容器
 
cd /mnt/software  進入/mnt/software 

(9)解壓

tar -zxvf jdk-8u211-linux-x64.tar.gz

(10)設定java 環境變數,設定profile

vi /etc/profile

在檔案末尾加上

JAVA_HOME=/opt/jdk/
JAVA_BIN=/opt/jdk/bin
JRE_HOME=/opt/jdk/jre
CLASSPATH=/opt/jdk/jre/lib:/opt/jdk/lib:/opt/jdk/jre/lib/charsets.jar
export  JAVA_HOME  JAVA_BIN JRE_HOME  PATH  CLASSPATH

使得設定立馬有效

source /etc/profile

設定 bashrc

vi ~/.bashrc

在檔案末尾加上

export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使得設定立馬有效

source ~/.bashrc

(11)檢視jdk版本

 java -version

 (12) 使用vi命令時 出現vi: command not found 這是因為vim沒有安裝。 使用如下命令安裝

apt-get update
apt-get install vim

6.停止和刪除容器

docker stop  容器id 停止容器
 
docker rm 容器id  刪除容器
 
docker rmi -f 映象id  刪除映象
 
docker run -it 容器image /bin/bash 啟動容器

7.Docker部署SpringBoot專案

(1)編寫Dockerfile檔案

# Docker image for springboot file run
# VERSION 0.0.1
# Author: eangulee
# 基礎映象使用java
FROM java:8
# VOLUME 指定了臨時檔案目錄為/tmp。
# 其效果是在主機 /var/lib/docker 目錄下建立了一個臨時檔案,並連結到容器的/tmp
VOLUME /tmp 
# 將jar包新增到容器中並更名為app.jar    demo-0.0.1-SNAPSHOT.jar jar名稱
ADD demo-0.0.1-SNAPSHOT.jar app.jar 
# 執行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

解釋下這個組態檔: VOLUME 指定了臨時檔案目錄為/tmp。其效果是在主機 /var/lib/docker 目錄下建立了一個臨時檔案,並連結到容器的/tmp。該步驟是可選的,如果涉及到檔案系統的應用就很有必要了。/tmp目錄用來持久化到 Docker 資料資料夾,因為 Spring Boot 使用的內嵌 Tomcat 容器預設使用/tmp作為工作目錄 專案的 jar 檔案作為 “app.jar” 新增到容器的 ENTRYPOINT 執行專案 app.jar。為了縮短 Tomcat 啟動時間,新增一個系統屬性指向 “/dev/./urandom” 作為 Entropy Source 如果是第一次打包,它會自動下載java 8的映象作為基礎映象,以後再製作映象的時候就不會再下載了。 (2)部署檔案 在伺服器新建一個docker資料夾,將maven打包好的jar包和Dockerfile檔案複製到伺服器的docker資料夾下

(3)製作映象

 cd /root/docker
docker build -t springbootdemo4docker .

注意點 ….. 

(4)檢視映象

docker images

(5)啟動容器

docker run -d -p 8761:8761 springbootdemo4docker

docker run -it springbootdemo4docker /bin/bash

 總結

到此這篇關於docker容器安裝及部署的文章就介紹到這了,更多相關docker安裝部署內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com