|
| 1 | +(build-image-to-dockerhub)= |
| 2 | + |
| 3 | +# Build the TensorRT-LLM Docker Image |
| 4 | +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. |
| 5 | + |
| 6 | +## Build the TensorRT-LLM Docker Image and Upload to DockerHub |
| 7 | + |
| 8 | +```bash |
| 9 | +make -C docker build |
| 10 | +``` |
| 11 | +Then we can get the docker image named `tensorrt_llm/devel:latest` |
| 12 | + |
| 13 | +### Enable ssh access to the container |
| 14 | +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. |
| 15 | +Let’s first create a new Dockerfile with below content: |
| 16 | + |
| 17 | +```Dockerfile |
| 18 | +FROM tensorrt_llm/devel:latest |
| 19 | + |
| 20 | +RUN apt update && apt install openssh-server -y |
| 21 | +RUN mkdir -p /run/sshd && chmod 755 /run/sshd |
| 22 | +RUN mkdir -p /root/.ssh && chmod 700 /root/.ssh && touch /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys |
| 23 | +# add sshd to entrypoint script |
| 24 | +RUN echo "sshd -E /opt/sshd.log" >> /opt/nvidia/entrypoint.d/99-start-sshd.sh |
| 25 | +``` |
| 26 | + |
| 27 | +If we save this Dockerfile as `Dockerfile.ssh`. Then we can build the docker image with below command: |
| 28 | + |
| 29 | +```bash |
| 30 | +docker build -t tensorrt_llm/devel:with_ssh -f Dockerfile.ssh . |
| 31 | +``` |
| 32 | + |
| 33 | +Then we can get the docker image named `tensorrt_llm/devel:with_ssh` |
| 34 | + |
| 35 | +## Upload the Docker Image to DockerHub |
| 36 | + |
| 37 | +You need to register a [dockerhub](https://hub.docker.com) account first if you don't have one. |
| 38 | + |
| 39 | +Then you can click 'Personal Access Tokens' in the user menu and create a new token. |
| 40 | + |
| 41 | +With the token, you can login to dockerhub with below command: |
| 42 | + |
| 43 | +```bash |
| 44 | +docker login -u <your_dockerhub_username> |
| 45 | +``` |
| 46 | + |
| 47 | +Enter the token to the console. |
| 48 | + |
| 49 | +After login, you can tag and push the docker image to dockerhub with below command: |
| 50 | + |
| 51 | +```bash |
| 52 | +docker tag tensorrt_llm/devel:with_ssh <your_dockerhub_username>/tensorrt_llm:devel |
| 53 | +docker push <your_dockerhub_username>/tensorrt_llm:devel |
| 54 | +``` |
| 55 | + |
| 56 | +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`. |
0 commit comments