# hello-docker **Repository Path**: issasonjj/hello-docker ## Basic Information - **Project Name**: hello-docker - **Description**: Docker的简单例子 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-01-31 - **Last Updated**: 2022-06-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Docker例子 ## 基本操作 1. 安装 > sudo apt install docker 2. 将sudo权限赋给Docker用户,避免每次都输入sudo > sudo usermod -aG docker $USER 3. 启动service > sudo systemctl start docker 4. 列出image文件 > docker image ls 5. 删除image文件 > docker image rm IMAGE_NAME(ID) 6. 列出容器 > docker container ls > docker container ls --all 7. 终止容器 > docker container kill CONTAINER_ID 8. 删除容器 > docker container rm CONTAINER_ID 9. 构建image文件 Dockerfile文件内容: ```docker FROM openjdk:8u181-jre-stretch COPY build/libs/hello-docker-1.0-SNAPSHOT.jar /app/hello-docker-1.0-SNAPSHOT.jar WORKDIR /app # RUN java -jar hello-docker-1.0-SNAPSHOT.jar CMD java -jar hello-docker-1.0-SNAPSHOT.jar EXPOSE 3000 ``` CMD是最终运行服务的命令;RUN是构建过程中的命令,通常npm install之类 > docker image build -t koa-demo:0.0.1 . 10. 启动image > docker container run -p 8000:3000 -v /home/xujiajun/storage/doc/docker:/home/xujiajun/docker -it hello-docker /bin/bash "-p 8000:300"表示容器内部的3000端口映射到宿主机的8000端口
"-it"表示容器的shell映射到当前shell,在当前窗口输入的命令会传入容器
"-v /home/xujiajun/storage/doc/docker:/home/xujiajun/docker"表示将宿主机的"/home/xujiajun/storage/doc/docker"映射到内部的"/home/xujiajun/docker"路径