centos下docker安裝及springboot遠程發佈docker的方法

1.CentOS7.0下JDK1.8的安裝

(1)到Oracle官網下載好 jdk-8u291-linux-i586.tar.gz備用
(2)卸載系統自帶的java

java -version
rpm -qa | grep java
yum -y remove  [上面查出來的內容,多個用空格分隔]

(3)安裝jdk

mkdir /usr/java
cd /usr/java
tar -zxvf jdk-8u291-linux-i586.tar.gz

(4)配置環境變量

vim /etc/profile

添加下面內容

export JAVA_HOME=/usr/java/jdk1.8.0_291
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使環境變量生效

source  /etc/profile

測試

java -version

2.Docker的安裝

(1) 查看內核版本(Docker需要64位版本,同時內核版本在3.10以上,如果版本低於3.10,需要升級內核)

uname -r

在這裡插入圖片描述

(2) 更新yum包:

yum update -y

(3) 添加阿裡雲yum倉庫:

cd /etc/yum.repos.d/
wget "http://mirrors.aliyun.com/repo/Centos-7.repo"
mv CentOS-Base.repo CentOS-Base.repo.bak
mv Centos-7.repo CentOS-Base.repo

執行yum源的更新命令

yum clean all
yum makecache
yum update

(4) 安裝Docker

yum install -y docker-ce

(5) 啟動Docker
啟動,查看信息

systemctl start docker
docker info

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-H5LW4OhZ-1619537409080)(imgclip_1.png "imgclip_1.png")]

後續可以設置開機啟動項

systemctl enable docker

(6)配置docker遠程訪問
執行命令編輯文件

vim /usr/lib/systemd/system/docker.service

找到這一行

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

追加

-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

重啟服務

service docker restart

如果提示文件需要reload就執行

systemctl daemon-reload

在這裡插入圖片描述

遠程訪問測試

http://192.168.2.200:2375/version

在這裡插入圖片描述

3.Docker使用Maven插件構建並上傳鏡像

(1)新建Dockerfile文件

在項目的/src/main下新增文件夾docker,並在文件夾下創建Dockerfile文件,文件內容如下

# 基於哪個鏡像
FROM java:8
# 將本地文件夾掛載到當前容器
VOLUME /tmp
# 拷貝文件到容器,swaggertest-0.0.1-SNAPSHOT.jar這裡是maven打包後的名字
ADD swaggertest-0.0.1-SNAPSHOT.jar swaggertest.jar
RUN bash -c 'touch /swaggertest.jar'
# 配置容器啟動後執行的命令
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/swaggertest.jar"]

EXPOSE 8080

(2)修改pom.xml文件增加如下plugin
imageName:鏡像名稱
dockerDirectory:Dockerfile文件所在目錄
dockerHost:docker所在宿主機ip
2375為docker開啟的遠程訪問端口

<plugin>
                <!-- https://mvnrepository.com/artifact/com.spotify/docker-maven-plugin -->
                    <groupId>com.spotify</groupId>
                    <artifactId>docker-maven-plugin</artifactId>
                    <version>1.2.2</version>
                <configuration>
                    <imageName>swaggertest-service</imageName>
                    <dockerDirectory>src/main/resources/docker</dockerDirectory>
                    <dockerHost>http://192.168.2.200:2375</dockerHost>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>

每一個微服務項目都要進行配置。

(3)構建鏡像並上傳至docker
使用maven運行如下命令

mvn clean package docker:build -DskipTests

上傳成功後,在服務器輸入

docker images

可以看到新建的的docker鏡像啦。

在這裡插入圖片描述

啟動當前鏡像

docker run -p 8080:8080 swaggertest-service:latest

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-5AeaDxYA-1619537409091)(imgclip_6.png "imgclip_6.png")]

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PBM9nq3f-1619537409091)(imgclip_7.png "imgclip_7.png")]

到此這篇關於centos下docker安裝及springboot遠程發佈docker的方法的文章就介紹到這瞭,更多相關centos下docker安裝內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: