Build the TensorRT-LLM Docker Image#
When you develop trt-llm on cloud platform such as runpod, you may need to provide a docker image for the platform. So you firstly need to upload the image to dockerhub.
Build the TensorRT-LLM Docker Image and Upload to DockerHub#
make -C docker build
Then we can get the docker image named tensorrt_llm/devel:latest
Enable ssh access to the container#
Since the default docker image doesn’t have ssh support, we can’t ssh into it. We need to add ssh support to the container. Let’s first create a new Dockerfile with below content:
FROM tensorrt_llm/devel:latest
RUN apt update && apt install openssh-server -y
RUN mkdir -p /run/sshd && chmod 755 /run/sshd
RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh && touch /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys
# add sshd to entrypoint script
RUN echo "sshd -E /opt/sshd.log" >> /opt/nvidia/entrypoint.d/99-start-sshd.sh
If we save this Dockerfile as Dockerfile.ssh. Then we can build the docker image with below command:
docker build -t tensorrt_llm/devel:with_ssh -f Dockerfile.ssh .
Then we can get the docker image named tensorrt_llm/devel:with_ssh
Upload the Docker Image to DockerHub#
You need to register a dockerhub account first if you don’t have one.
Then you can click ‘Personal Access Tokens’ in the user menu and create a new token.
With the token, you can login to dockerhub with below command:
docker login -u <your_dockerhub_username>
Enter the token to the console.
After login, you can tag and push the docker image to dockerhub with below command:
docker tag tensorrt_llm/devel:with_ssh <your_dockerhub_username>/tensorrt_llm:devel
docker push <your_dockerhub_username>/tensorrt_llm:devel
Finally, you can see the docker image in your dockerhub repository and can use it with the link such as docker.io/<your_dockerhub_username>/tensorrt_llm:devel.