# 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"路径