docker 笔记

27 阅读2分钟

docker笔记-springboot 初识
一:jar包  Dockerfile与jar包放到一个目录中
1.创建Dockerfile文件(必须写Dockerfile)

FROM            指定基础镜像
MAINTAINER      指定作者
RUN             执行参数中定义的命令,构建镜像时需要的命令
EXPOSE          向容器外部公开的端口号
WORKDIR         设置容器内默认工作目录
USER            指定用户
ENTRYPOINT      指定一个容器启动时运行的命令
ENV             设置环境变量
ADD|COPY        复制文件到镜像中(ADD将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包.COPY类似ADD,拷贝文件和目录到镜像中。将从构建上下文目录中<源路径>文件/目录复制到新的一层的镜像内<目标路径>的位置  COPY src dest   或者COPY ["src","dest"])
VOLUME          容器数据卷,向镜像创建的容器添加卷
CMD             容器启动时要运行的命令,可以有多个,但只有最后一个生效

FROM java:8
COPY application.yml /opt/application.yml
ADD  erlang-upload-0.0.1-SNAPSHOT.jar /opt/upload.jar
RUN bash -c 'touch /opt/upload.jar'
EXPOSE 9005
ENTRYPOINT ["java","-jar","/opt/upload.jar","--spring.config.location=/opt/application.yml",">/dev/null 2>&1 &"]

2.创建镜像 (docker images查看镜像 docker save -o /admin.tar eladmin-system保存镜像在本地 scp /admin.tar root@ip:/usr/local 把上面打包好的镜像通过ssh上传到服务器 
docker load </usr/local/admin.tar 加载镜像 )
docker build :创建镜像命令
eladmin-system : 镜像名称
. :是读取当前目录下的Docker文件
-c:控制CPU使用
-f:选择Dockerfile名称
-m:设置构建内存上限
-q:不显示构建过程的一些信息
-t:为构建的镜像打上标签

docker build -f Dockerfile -t upload:v1 .

3.运行容器
docker run -v /opt/docker/logs:/opt/logs --name upload -p 9005:9005 -d upload:v1
--name:指定容器名称
-p:指定映射的端口号
-d:指点容器后台运行
-v:指容器内/opt/logs文件挂在映射到系统中/opt/docker/logs,防止删除容器,日志数据丢失

4.其他命令
docker stop 容器ID --停止运行
docker start 容器ID -- 启动
docker rm 容器ID  --移除容器
docker rmi 镜像ID --移除镜像
docker search 镜像  --搜索镜像
docker exec -it 容器ID /bin/bash   --进入容器
docker stop $(docker ps -aq) 或者 docker stop $(docker ps -a -q) --停止所有容器
docker container prune 或者 docker  rm $(docker ps -a -q) --删除所有停止的容器

aq的含义
Options:
-a, --all Show all containers (default shows just running)
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print containers using a Go template
-n, --last int Show n last created containers (includes all states) (default -1)
-l, --latest Show the latest created container (includes all states)
--no-trunc Don't truncate output
-q, --quiet Only display container IDs
-s, --size Display total file sizes