当前位置:   article > 正文

docker简单入门经验(docker desktop、springboot、vue)_dockerdesktop使用详细教程

dockerdesktop使用详细教程

docker简单入门经验

一.软件安装

  1. docker-desktop(可以理解成docker的windows操作系统下的桌面程序)官方下载地址

    https://docs.docker.com/docker-for-windows/install
    在这里插入图片描述

  2. docker-desktop安装,运行后,一直下一步可以了

  3. 插件wsl2下载安装

    因为docker运行环境是Linux的,windows操作系统下要运行,就需要安装wsl2(Windows Subsystem for Linux 2),2是第二个版本的意思。
    wsl2下载,直接百度就有了,它是个msi文件
    在这里插入图片描述
    wsl安装也是一直下一步就OK了

  4. 安装完成

    安装完成后,需要重启电脑的。

    重启电脑后,就可以通过cmd命令或打开桌面程序,查看docker是否安装成功了

    docker -v在这里插入图片描述在这里插入图片描述

二.使用docker

一些基本概念

建议查看知乎的这篇文章

https://zhuanlan.zhihu.com/p/282033860

部分摘取:

Client(客户端):是Docker的用户端,可以接受用户命令和配置标识,并与Docker daemon通信。
Images(镜像):是一个只读模板,含创建Docker容器的说明,它与操作系统的安装光盘有点像。
Containers(容器):镜像的运行实例,镜像与容器的关系类比面向对象中的类和对象。
Registry(仓库):是一个集中存储与分发镜像的服务。最常用的Registry是官方的Docker Hub 。

常用命令

镜像命令
# 搜索镜像:docker  search  [OPTIONS]  TERM
docker search mysql

#下载镜像:docker  pull  [OPTIONS]  NAME[:TAG]
docker pull mysql #下载最新版本的mysql镜像
docker pull mysql:5.7 #下载5.7版本的mysql镜像

#查看所有镜像:docker images  [OPTIONS]  [REPOSITORY[:TAG]]
docker images

#运行镜像,生成容器
#–name:容器名,此处命名为mysql 
#-e:配置信息,此处配置mysql的root用户的登陆密码
#-p:端口映射,此处映射 主机3306端口 到 容器的3306端口
#-d:后台运行容器,保证在退出终端后容器继续运行
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

#删除镜像:docker  rmi [OPTIONS]  IMAGE  [IMAGE...]
docker  rmi mysql:5.7

#构建镜像:docker  build  [OPTIONS]  PATH
#提前在cmd中打开对应文件夹路径(见相关图例-图1、图2、图3),然后再执行命令
#后面有个点,代表当前目录下dockerfile文件,不可缺少
docker build -t javaoaui .

#上传镜像:docker  push  [OPTIONS]  NAME[:TAG]
#上传前,一般都要重新给镜像添加镜像标签,标签名字需要符合docker上传命名要求
#增加镜像标签:docker  tag  SOURCE_IMAGE[:TAG]  TARGET_IMAGE[:TAG]
#上传完镜像之后(见相关图例-图4),别人就可以直接docker pull linfende/javaoaui:0805 获取我们的镜像使用了
docker tag javaoaui:latest linfende/javaoaui:0805
docker push linfende/javaoaui:0805
docker pull linfende/javaoaui:0805

#镜像导出:docker save [options] image [image……]
#使用镜像导出导入,可以直接生成文件,拉给别人,直接在别人的docker中run起来
docker save linfende/javaoaui:0805 >D:\javaoaui0805.tar
#镜像导入
docker load -i d:\javaoaui0805.tar

#提交镜像:docker  commit [OPTIONS]  CONTAINER  NAME[:TAG]

#运行镜像,生成容器 docker run -d --name [容器名字] -p [外部映射端口]:[容器内部端口] [镜像名字]
#运行容器后,可直接访问 http://localhost:9998,(见相关图例-图5)
docker run -d --name JavaOAUI0805 -p 9998:80 linfende/javaoaui:0805

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
容器命令
#查看容器运行情况
docker container ls		#正在运行的容器
docker container ls -a #所有容器

#停止docker stop 容器id
 docker stop 07bd45b6aa55
 
#启动docker start 容器id
 docker start 07bd45b6aa55
 
#重启docker restart 容器id
docker restart 07bd45b6aa55
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

相关图例

图1:构建JavaOAUI镜像截图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NfNNOiOD-1628231077562)(C:\Users\Lin\AppData\Roaming\Typora\typora-user-images\image-20210806104220443.png)]

图1.1:构建JavaOAService镜像截图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p7RQPdR1-1628231077563)(C:\Users\Lin\AppData\Roaming\Typora\typora-user-images\image-20210806141247217.png)]

图2:JavaOAUI站点的nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        #这里也稍微进行了修改,表示前端部署到容器中的端口,在docker部署时端口对应这里即可。
        listen       80;
        server_name  localhost;
		
        location /proxy {
            root /usr/share/nginx/html/;                     #这一行进行了修改,表示资源地址
            proxy_pass http://localhost:7999;     #这一行进行了修改【下文:proxy_pass的详述】
            rewrite "^/proxy/(.*)$" /$1 break;
        }
        location / {
            root   /usr/share/nginx/html/;
            try_files $uri $uri/ /html/index.html last;
            index  index.html index.htm;
        }
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

图3:JavaOAUI站点的dockerfile

在这里插入图片描述

#从docker官网拉取标准的nginx镜像,我们需要基于标准的nginx镜像制作自己的镜像
FROM nginx
#拷贝当前目录的文件到指定文件夹下,改文件夹为镜像中的文件夹
COPY ./dist  /usr/share/nginx/html
#拷贝nginx.conf文件到镜像下,替换掉原有的nginx.conf
COPY ./nginx.conf /etc/nginx/nginx.conf 
#输出完成标志
RUN echo 'build img ok!'

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

图3.1 JavaOAService服务的dockerfile

#从docker官方拉取java8的镜像
FROM java:8
#将jar包添加到容器中并更名为app.jar
ADD yiu-oa-1.0-SNAPSHOT.jar app.jar
#缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/.urandom","-jar","/app.jar"]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

图4:上传完镜像后仓库截图

在这里插入图片描述
在这里插入图片描述

图5:登录

http://localhost:9998

参考资料

1.win10环境docker部署mysql、vue项目和springboot项目

https://blog.csdn.net/lw_2352/article/details/115431575

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号