docker入门

docker入门,第1张

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

一、docker概念与应用

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

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

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

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

启动镜像(自动生成容器):docker run [options] 镜像名 [command]

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

启动容器:docker start 容器id

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

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

重启容器:docker restart 容器id

查看运行中的容器:docker ps

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

容器信息:docker inspect 容器id

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

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

[options]:   
		--since 30m			   # 最近30分钟
        -f                     # 动态打印

删除容器:docker rm 容器id

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

退出容器:exit

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

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

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

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

[options]:   
		-m			   # 描述
        -a             # 作者
五、dockerfile构建镜像 命令介绍
命令效果
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
简单将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

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

原文地址: http://outofmemory.cn/yw/926745.html

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

发表评论

登录后才能评论

评论列表(0条)

保存