最近买了一个华为云服务器
配置不高适合学习
今天就从0开始从这个华为云服务器搭建我们自己的一个docker服务
安装docker
步骤1:更新系统软件包
sudo yum update
步骤2:添加docker存储库
sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
步骤3:安装Docker
sudo yum install docker-ce docker-ce-cli containerd.io
步骤4:启动docker
sudo systemctl start docker
部署服务
步骤1:上传本地jar包到服务器
我的服务在本地,简单点儿就用rz,sz将文件上传到服务器。当然刚买到的华为云服务器没有这个命令。不要紧直接用以下命令直接安装:
yum install lrzsz
安装完rz,sz之后,可以rz命令,将文件上传到服务器。
步骤2:创建docker file
2.1、创建文件
touch DockFile
2.2、输入以下内容
FROM openjdk:8-jdk-alpine
COPY target/coco-prod.jar /usr/local/myapp/
WORKDIR /usr/local/myapp/
CMD ["java", "-jar", "coco-prod.jar"]
- FROM openjdk:8-jdk-alpine:这一行指定了基础镜像,即使用的是OpenJDK 8版本的Alpine Linux镜像。
- COPY target/coco-prod.jar /usr/local/myapp/:这一行将本地目录中的target/coco-prod.jar文件复制到容器内的/usr/local/myapp/目录中。这个目录是容器中的工作目录,用来存放应用程序和相关文件。
- WORKDIR /usr/local/myapp/:这一行设置容器的工作目录为/usr/local/myapp/。后续的命令都会在这个目录下执行。
- CMD ["java", "-jar", "coco-prod.jar"]:这一行定义了容器启动时要执行的默认命令。在这里,它运行了一个Java应用程序,使用java -jar命令来启动coco-prod.jar文件。
因此,该Docker镜像将会在容器内部运行一个基于Java的应用程序,并通过coco-prod.jar文件启动该应用程序。
运行docker容器
docker run -d -p 8080:19013 coco
这块需要注意的是,内部服务启动端口号要写到冒号的右面,左面是映射到外面的端口号,用于外部对服务的访问。
到了这里,如果你也是跟我一样新买的华为云服务器,不要着急,需要给对外映射的端口配置安全组才可以访问。
配置之后,访问才能通。不然telnet的接口会报错。
总结:
华为云服务器有安全组的概念,对外暴露端口需要额外配置端口到安全组,否则访问不通
docker启动自身服务一定要内部端口号正确映射出来,否则仍然访问不通。