- Docker 的基本使用
- 案例:
-
Dockerfile编写
- FROM openjdk:8-jre
- ARG VERSION=""
- ENV JAVA_OPTS=""
- ENV PARAMS=""
- 设置时区
-
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo ‘Asia/Shanghai’ >/etc/timezone
- RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo ‘Asia/Shanghai’ > /etc/timezone
- ADD etsme-0.0.1-SNAPSHOT.jar /app.jar
- ENTRYPOINT ["sh","-c","java $JAVA_OPTS -jar /app.jar $PARAMS"]
- 打包成鏡像:docker build -t etsmeofficial:v1.0 .
- 运行:docker run -d –name etsmeofficial2 -p 8082:8082 etsmeofficial:v1.0
- 进入容器:docker exec -it a173d0648d94 /bin/bash
- –net=host 告诉 Docker 不要将容器网络放到隔离的名字空间中,即不要容器化容器内的网络。
- 2.1 镜像相关指令
- 查看本地主机的所用镜像:docker images 搜索镜像:docker search mysql 下载镜像:docker pull mysql,没写 tag 就默认下载最新的 lastest 下载指定版本的镜像:docker pull mysql:5.7 删除镜像:docker rmi -f 镜像id 镜像id 镜像id
- 2.2 容器相关的命令
- 运行容器:docker run [可选参数] image 运行并进入容器centos:docker run -it centos /bin/bash 停止并退出容器(后台方式运行则仅退出):exit 退出容器但不停止:Ctrl + p + q 列出所有运行过的容器:docker ps -a 删除容器:docker rm 容器id (不能删除运行中的容器) 强制删除容器,包括运行中的容器:docker rm -f 容器ID 启动和停止容器命令: docker start 容器ID #启动容器 docker restart 容器ID #重启容器 docker stop 容器ID #停止当前运行的容器 docker kill 容器ID #强制停止当前容器 docker 中 run 和 start 的区别是什么 docker run 相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)。 docker start 的作用是,重新启动已存在的镜像。
- 2.3 常用的其它命令
- 后台启动:docker run -it centos /bin/bash
- 查看日志:docker logs
- 查看容器内部进程信息:docker top 容器id 查看镜像的元数据:docker inspect 容器id 进入当前正在进行的容器: docker exec -it 容器id /bin/bash docker attach 容器id exec 进入容器后开启一个新的终端,可以在里面操作(常用) attach 进入容器正在执行的终端,不会启动新的进程! 从容器拷贝文件到主机:docker cp 容器id:路径 主机路径 从主机拷贝文件到容器:
- ————————————————
Dockerfile