10、CentOS Docker入门

本文介绍了Docker的安装,包括配置阿里云yum源、查看版本、安装及启动服务。还讲解了Docker的基本使用,如搜索、下载镜像,运行容器等。最后详细说明了Springboot项目集成Docker的配置,包含pom.xml插件配置、创建Dockerfile文件,以及项目打包和运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安装docker

1、配置阿里云Docker yum源

# yum install -y yum-utils device-mapper-persistent-data lvm2

# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

2、查看Docker版本

# yum list docker-ce --showduplicates

3、安装Docker

# yum install docker-ce-18.03.0.ce 安装指定版本

# yum install docker-ce 安装最新版本

4、启动Docker服务

# systemctl enable docker 开机自启动

# systemctl start docker

 

初识docker

1、搜索

# docker search tutorial

 

2、下载容器镜像

# docker pull learn/tutorial

 

3、测试运行Hello World!

# docker run learn/tutorial echo “hello world”

 

4、安装ping程序

# docker run learn/tutorial apt-get install -y ping

5、保存对容器做的修改

# docker ps -l 获得ping程序的容器id,然后把这个镜像保存为learn/ping

# docker commit 698 learn/ping 其中698为id 的前段部分

6、运行镜像ping命令

# docker run learn/ping ping www.baidu.com

7、查看容器的信息

# docker ps 获取所有正在运行中的容器列表

# docker inspect efe 其中efe为要查看容器的id前段部分

 

8、发布自己的镜像

# docker images 获得所有安装过的镜像

# docker push learn/ping 发布镜像

Springboot 项目集成Docker配置

 

1、pom.xml 插件配置节点

<build>

    <plugins>

        <plugin>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-maven-plugin</artifactId>

        </plugin>

        <plugin>

            <groupId>com.spotify</groupId>

            <artifactId>docker-maven-plugin</artifactId>

            <version>0.4.3</version>

            <configuration>

                <imageName>${docker.image.prefix}/${project.artifactId}</imageName>

                <dockerDirectory>src/main/docker</dockerDirectory>

                <resources>

                    <resource>

                        <targetPath>/</targetPath>

                        <directory>${project.build.directory}</directory>

                        <include>${project.build.finalName}.jar</include>

                    </resource>

                </resources>

            </configuration>

        </plugin>

    </plugins>

</build>

 

2、创建Dockerfile文件

上面蓝色字体所示,要在Springboot项目中main文件夹下新建一名为”docker”的文件夹

如下:

├── pom.xml

└── src

    └── main

        ├── docker

        │   └── Dockerfile

 

编写Dockerfile文件

 

FROM frolvlad/alpine-oraclejdk8:slim

VOLUME /tmp

EXPOSE 8080

ADD quick-docker-1.0-SNAPSHOT.jar app.jar

RUN sh -c 'touch /app.jar'

ENV JAVA_OPTS=""

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

 

【保存】

其中quick-docker-1.0-SNAPSHOT.jar 一定要改为自己项目打包后真实的jar包名称,

8080 也要改为项目访问的真实端口

【说明】

FROM:第一条指令必须是FROM,如果在同一个Dockerfile中创建多个镜像时,可以使用多个From指令,(每一个镜像一次)

VOLUME:创建一个挂载点,可以从本机或者其他容器挂载的挂载点,意思是从容器中暴露一部分,和外界共享这块地方,一般存放数据库的数据或者是代码

EXPOSE:告诉Docker服务端容器需要暴露的端口号,供互联系统使用,启动容器的时候需要通过-P(大写),Docker主机会自动分配一个端口转发到指定的端口上,如果是-p(小写),则需要命令中明确指定是哪个本地端口映射过来

ADD:将复制指定的文件到容器中

RUN:在shell终端中运行命令 /bin/sh -c

ENTRYPOINT:配置容器启动后执行的命令,并且不能被dockerrun提供的参数覆盖掉。

每个Dockerfile中只能有一个ENTRYPOINT,当指定多个ENTRYPOINT时,也只有最后一个生效。

ENV:创建的时候给容器中加上个需要的环境变量

 

1、Springboot打包

# mvn package docker:build

# docker images 查看所有的镜像

# docker run -d -p 8080:8080 vector4wang/quick-docker 红色字体代表镜像名称,-p(小写) 注意端口映射的先后顺序【宿主端口:docker内服务端口】

# docker ps 查看docker是否将服务启动成功 up代表成功

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值