Skip to content

Commit a27e54e

Browse files
committed
Updated ReadMe
1 parent fe6e5cb commit a27e54e

File tree

1 file changed

+82
-1
lines changed

1 file changed

+82
-1
lines changed

README.md

+82-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,82 @@
1-
# docker-101
1+
# How to clone a github repo into docker
2+
3+
## Step 1: Create a Dockerfile
4+
5+
A Dockerfile is a script that contains instructions to build a Docker image. Here's a basic example:
6+
7+
`# Use a base image
8+
FROM ubuntu:latest
9+
10+
# Install necessary packages
11+
RUN apt-get update && apt-get install -y \
12+
git \
13+
&& rm -rf /var/lib/apt/lists/*
14+
15+
# Set the working directory
16+
WORKDIR /app
17+
18+
# Clone the GitHub repository
19+
RUN git clone https://github.com/username/repository.git
20+
21+
# Set the working directory to the cloned repository
22+
WORKDIR /app/repository
23+
24+
# Define the command to run when the container starts
25+
CMD ["bash"]`
26+
27+
## Step 2: Build the Docker Image
28+
29+
Navigate to the directory containing the Dockerfile and build the Docker image using the docker build command. Replace my-git-clone with a name for your Docker image.
30+
31+
`docker build -t my-git-clone .`
32+
33+
## Step 3: Run the Docker Container
34+
35+
Once the Docker image is built, you can run a container from this image using the docker run command:
36+
37+
`docker run -it my-git-clone`
38+
39+
This command runs the container in interactive mode and starts a bash session.
40+
41+
## Example Dockerfile Explained
42+
43+
- **FROM ubuntu**: Uses the latest Ubuntu base image.
44+
- **RUN apt-get update && apt-get install -y git**: Updates the package list and installs Git.
45+
- **WORKDIR /app**: Sets the working directory inside the container.
46+
- **RUN git clone <https://github.com/username/repository.git>**: Clones the specified GitHub repository into the working directory.
47+
- **WORKDIR /app/repository**: Sets the working directory to the cloned repository.
48+
- **CMD ["bash"]**: Starts a bash session when the container runs.
49+
50+
## Customizing the Dockerfile
51+
52+
You can customize the Dockerfile according to your needs, such as specifying a particular branch or commit to clone, installing additional dependencies, or running specific commands after cloning the repository.
53+
54+
## Example with Specific Branch
55+
56+
If you want to clone a specific branch, you can modify the `git clone` command in the Dockerfile:
57+
58+
`RUN git clone --branch branch-name https://github.com/username/repository.git`
59+
60+
## Full Example
61+
62+
Here's a complete example Dockerfile for cloning a specific branch and installing additional dependencies:
63+
64+
`FROM ubuntu:latest
65+
66+
RUN apt-get update && apt-get install -y\
67+
git\
68+
python3\
69+
python3-pip\
70+
&& rm -rf /var/lib/apt/lists/*
71+
72+
WORKDIR /app
73+
74+
RUN git clone --branch branch-name https://github.com/username/repository.git
75+
76+
WORKDIR /app/repository
77+
78+
RUN pip3 install -r requirements.txt
79+
80+
CMD ["bash"]`
81+
82+
By following these steps, you can clone a GitHub repository into a Docker container, customize the environment, and run any necessary commands.

0 commit comments

Comments
 (0)