docker入门

docker入门,第1张

文章目录
    • 一、docker概念与应用
    • 二、docker安装指令
    • 三、docker镜像指令
    • 四、docker容器指令
    • 五、dockerfile构建镜像
    • 六、docker部署实例

一、docker概念与应用
  1. 笼统概念:Docker 是一个开源的应用容器引擎,开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,发布到任何流行的 LinuxWindows *** 作系统的机器上,也可以实现虚拟化。

  2. 举个例子,比如说我们需要在linux/window部署 一个springboot项目。以往我们需要先部署环境,才能进行项目启动。一旦服务器变换,则需要重新安装环境,较为繁琐。而docker支持将 jar包以及相关依赖环境打成镜像,这样子便可以直接在装有docker的环境上运行(linux/windows),省去了环境配置这一环节,节约了运维成本。同时docker仓库提供了较多的基础镜像,便于集成。

  3. docker三要素:镜像、容器、仓库。举个例子,仓库就是我们手机商城,镜像就是商城里面的软件,而容器就是我们的手机,也就是提供镜像运行的地方。一般我们都是先登录仓库(私服仓库,不登陆默认https://hub.docker.com),然后拉取镜像,最后运行。注:每次运行镜像,都会默认生成一个容器。如果我们想要删除删除镜像,需要先删除容器。

二、docker安装指令
  1. 安装:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  2. 启动:systemctl start docker
  3. 重启:systemctl restart docker
  4. 停止:systemctl stop docker
  5. 开机启动:systemctl enable docker
  6. 查看docker概要信息:docker info
  7. 查看docker帮助文档:docker ‐‐help
三、docker镜像指令
  1. 登录仓库:docker login
  2. 查看仓库镜像:docker search 镜像名
  3. 下载仓库镜像:docker pull 镜像名
  4. 查看下载的镜像:docker images
  5. 查看下载的指定镜像:docker images 镜像名
  6. 给下载的镜像打标签:docker tag 镜像id 镜像名:版本
  7. 推送镜像:docker push 镜像名:版本
  8. 删除镜像(必须先删除镜像容器):docker rmi 镜像名
  9. 导出镜像到当前目录:docker save 镜像id>镜像名称:版本
  10. 导入镜像:docker load < 镜像名称:版本
四、docker容器指令
  1. 启动镜像(自动生成容器):docker run [options] 镜像名 [command]

    [options]:   
    		-i					   # 启动一个可交互的容器,并且持续打开标准输入
            -t                     # 表示使用终端关联到容器的标准输入输出上
            -d                     # 后台运行
            --rm=true			   # 退出后删除容器
            --name=容器名           # 给容器命名
    	    -p 主机端口:容器端口      # 映射端口
    	    -P                     # 大写P,暴露容器所有端口
            -v 主机地址:容器地址      # 挂载,映射端口文件夹
            -e 属性名=属性值         # 配置环境变量
    [command]:
            /bin/bash              # 控制台
    
  2. 启动容器:docker start 容器id

  3. 关闭容器:docker stop/kill 容器id

  4. 暂停容器:docker pause/unpause 容器id

  5. 重启容器:docker restart 容器id

  6. 查看运行中的容器:docker ps

  7. 查看所有的容器:docker ps -a

  8. 容器信息:docker inspect 容器id

  9. 查看容器中的进程信息:docker top 容器id

  10. 查看容器日志:docker logs [options] 容器id

    [options]:   
    		--since 30m			   # 最近30分钟
            -f                     # 动态打印
    
  11. 删除容器:docker rm 容器id

  12. 进入容器(必须是可交互的容器):docker exec -ti 容器id bash

  13. 退出容器:exit

  14. 进入容器正在执行的终端:docker attach 容器id

  15. 在运行的容器中执行命令:docker exec 容器名 命令(如id add)

  16. 从容器内拷贝文件到主机上:docker cp 容器id:容器内路径 主机文件路径

  17. 容器打包成镜像:docker commit [options] 容器id 名称:版本号

    [options]:   
    		-m			   # 描述
            -a             # 作者
    
五、dockerfile构建镜像
  1. 命令介绍
命令效果
FROM基于镜像
MAINTAINER镜像作者+邮箱
RUN镜像构建的时候需要运行的命令
ADD将本地文件拷贝到容器中(tar自动解压)
WORKDIR镜像工作目录(进入容器时的目录)
VOLUME挂载/持久化的目录
EXPOSE暴露端口配置
CMD/ENTRYPOINT指定这个容器启动时要运行的命令(CMD替代先前命令,ENTRYPOINT在先前命令后追加)
COPY类似于ADD,将文件拷贝到镜像中(不能自动解压)
ENV构建时设置环境变量(printenv:打印环境变量;cat /etc/redhat-release:linux版本;rpm -qa bind:bind版本)
USER指定容器的子进程是哪个用户(pid=1
  1. 简单将springboot打包成镜像启动
#继承jdk8
FROM java:8
#作者
MAINTAINER zzk
#指定临时文件夹,效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp。该步骤是可选的,如果涉及到文件系统的应用就很有必要了。
#/tmp目录用来持久化到 Docker 数据文件夹,因为 Spring Boot 使用的内嵌 Tomcat 容器默认使用/tmp作为工作目录
VOLUME /tmp 
#将jar包添加到容器并且改名字为zzk.jar
ADD docker.jar zzk.jar
#运行jar包
RUN bash -c 'touch /zzk.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/zzk.jar"]
六、docker部署实例

https://blog.csdn.net/weixin_40496191/article/details/122714245

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/922987.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-16
下一篇2022-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存