প্রথমে আপনার ডকার হাব অ্যাকাউন্টে যান এবং রেপো তৈরি করুন। এখানে আমার ডকার হাব অ্যাকাউন্টের একটি স্ক্রিনশট রয়েছে:
ছবি থেকে, আপনি দেখতে পাচ্ছেন যে আমার রেপো "চুয়াং"
এখন রেপোতে যান এবং আপনার চিত্রের নাম ক্লিক করে এটি ব্যক্তিগত করুন। সুতরাং আমার জন্য, আমি "চুয়াং / জিন_কমিতিট_মেজে" ক্লিক করেছি, তারপরে আমি সেটিংস -> বেসরকারী তৈরিতে গিয়েছিলাম। তারপরে আমি অন স্ক্রিনের নির্দেশাবলী অনুসরণ করেছি
আপনার ডকারের চিত্রটি কীভাবে ডকার হাবটিতে আপলোড করা যায়
পদ্ধতি # 1 = কমান্ড লাইনের মাধ্যমে আপনার চিত্রটিকে ধাক্কা দেওয়া হচ্ছে (ক্লায়েন্ট)
1) docker commit <container ID> <repo name>/<Name you want to give the image>
হ্যাঁ, আমি মনে করি এটি কনটেইনার আইডি হতে হবে। এটি সম্ভবত চিত্র আইডি হতে পারে না।
যেমন = docker commit 99e078826312 chuangg/gene_commited_image
2) docker run -it chaung/gene_commited_image
3) docker login --username=<user username> --password=<user password>
যেমন = docker login --username=chuangg --email=gc.genechaung@gmail.com
হ্যাঁ, আপনাকে প্রথমে লগইন করতে হবে। "ডকার লগআউট" ব্যবহার করে লগআউট
4) docker push chuangg/gene_commited_image
পদ্ধতি # 2 = pom.xML এবং কমান্ড লাইন ব্যবহার করে আপনার চিত্রকে ধাক্কা দিচ্ছে।
দ্রষ্টব্য, আমি "বিল্ড-ডকার" নামে একটি ম্যাভেন প্রোফাইল ব্যবহার করেছি। আপনি যদি কোনও প্রোফাইল ব্যবহার করতে না চান তবে কেবল <profiles>, <profile>, and <id>build-docker</id>
উপাদানগুলি সরিয়ে ফেলুন ।
প্যারেন্ট pom.xML এর ভিতরে:
<profiles>
<profile>
<id>build-docker</id>
<build>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.18.1</version>
<configuration>
<images>
<image>
<name>chuangg/gene_project</name>
<alias>${docker.container.name}</alias>
<!-- Configure build settings -->
<build>
<dockerFileDir>${project.basedir}\src\docker\vending_machine_emulator</dockerFileDir>
<assembly>
<inline>
<fileSets>
<fileSet>
<directory>${project.basedir}\target</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</inline>
</assembly>
</build>
</image>
</images>
</configuration>
<executions>
<execution>
<id>docker:build</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
ডকার ইমেজ মোতায়েনের জন্য ডকার টার্মিনাল কমান্ড (আপনার pom.xML অবস্থিত ডিরেক্টরি থেকে) = mvn clean deploy -Pbuild-docker docker:push
দ্রষ্টব্য, পদ্ধতি # 2 এবং # 3 এর মধ্যে পার্থক্য হ'ল পদ্ধতি # 3 <execution>
এর মোতায়েনের জন্য অতিরিক্ত রয়েছে ।
পদ্ধতি # 3 = ম্যাকেন ব্যবহার করে স্বয়ংক্রিয়ভাবে ডকার হাবটিতে স্থাপন করা
এই জিনিসগুলি আপনার পিতামাতার pom.xml এ যুক্ত করুন:
<distributionManagement>
<repository>
<id>gene</id>
<name>chuangg</name>
<uniqueVersion>false</uniqueVersion>
<layout>legacy</layout>
<url>https://index.docker.io/v1/</url>
</repository>
</distributionManagement>
<profiles>
<profile>
<id>build-docker</id>
<build>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.18.1</version>
<configuration>
<images>
<image>
<name>chuangg/gene_project1</name>
<alias>${docker.container.name}</alias>
<!-- Configure build settings -->
<build>
<dockerFileDir>${project.basedir}\src\docker\vending_machine_emulator</dockerFileDir>
<assembly>
<inline>
<fileSets>
<fileSet>
<directory>${project.basedir}\target</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</inline>
</assembly>
</build>
</image>
</images>
</configuration>
<executions>
<execution>
<id>docker:build</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
<execution>
<id>docker:push</id>
<phase>install</phase>
<goals>
<goal>push</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
সি: \ ব্যবহারকারীদের \ জেন.ডোকার \ ডিরেক্টরিতে যান এবং এটি আপনার কনফিগারেশন.জসন ফাইলে যুক্ত করুন:
এখন আপনার ডকার কুইকস্টার্ট টার্মিনাল টাইপ = mvn clean install -Pbuild-docker
আপনারা যারা মাভেন প্রোফাইল ব্যবহার করছেন না তাদের জন্য কেবল টাইপ করুন mvn clean install
সাফল্যের বার্তার স্ক্রিনশটটি এখানে:
এখানে আমার সম্পূর্ণ pom.xML এবং আমার ডিরেক্টরি কাঠামোর স্ক্রিনশট রয়েছে:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.gene.app</groupId>
<artifactId>VendingMachineDockerMavenPlugin</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Maven Quick Start Archetype</name>
<url>www.gene.com</url>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.gene.sample.Customer_View</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>gene</id>
<name>chuangg</name>
<uniqueVersion>false</uniqueVersion>
<layout>legacy</layout>
<url>https://index.docker.io/v1/</url>
</repository>
</distributionManagement>
<profiles>
<profile>
<id>build-docker</id>
<properties>
<java.docker.version>1.8.0</java.docker.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.18.1</version>
<configuration>
<images>
<image>
<name>chuangg/gene_project1</name>
<alias>${docker.container.name}</alias>
<!-- Configure build settings -->
<build>
<dockerFileDir>${project.basedir}\src\docker\vending_machine_emulator</dockerFileDir>
<assembly>
<inline>
<fileSets>
<fileSet>
<directory>${project.basedir}\target</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>*.jar</include>
</includes>
</fileSet>
</fileSets>
</inline>
</assembly>
</build>
</image>
</images>
</configuration>
<executions>
<execution>
<id>docker:build</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
<execution>
<id>docker:push</id>
<phase>install</phase>
<goals>
<goal>push</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
এখানে আমার অ্যালিপস ডিরেক্টরিটি রয়েছে:
এখানে আমার ডকফায়াইল:
FROM java:8
MAINTAINER Gene Chuang
RUN echo Running Dockerfile in src/docker/vending_machine_emulator/Dockerfile directory
ADD maven/VendingMachineDockerMavenPlugin-1.0-SNAPSHOT.jar /bullshitDirectory/gene-app-1.0-SNAPSHOT.jar
CMD ["java", "-classpath", "/bullshitDirectory/gene-app-1.0-SNAPSHOT.jar", "com/gene/sample/Customer_View" ]
সাধারণ ত্রুটি # 1:
ত্রুটির সমাধান # 1 = <execution>
ম্যাভেন মোতায়েনের পর্বের সাথে সিঙ্ক করবেন না কারণ তখন মাভেন ইমেজ 2x স্থাপনের চেষ্টা করে এবং জারে একটি টাইমস্ট্যাম্প রাখে। এজন্যই আমি ব্যবহার করেছি <phase>install</phase>
।