ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Docker

2022-01-14 04:31:06  阅读:185  来源: 互联网

标签:映像 hello Docker courserli docker 运行


什么是 Docker?

个人理解,Docker 是一个平台,用于构建、运行程序,同时可以对运行环境进行打包,并在其他的计算机上运行(参考了教程视频官方教程
我下载的是 Docker Desktop,即桌面软件(包含了 WSL),因此我可以直接在 Powershell 和 WSL 中运行 docker,也可以直接在 Docker Desktop 软件中运行 docker

基础概念

  • Container:运行镜像的实例,可移植(一般的容器有:Windows、Linux、Cloud、Datacenter)
  • image(Container image):镜像,包含可运行程序(Application)

补充:

  • Windows Terminal 中的 Powershell 与 WSL 共享同一个 Docker,即它们的 Container/APPs 是一致的
  • 容器(Container)和虚拟机(VM)具有相似的资源隔离和分配优势,但功能不同,因为容器虚拟化的是操作系统而不是硬件,因此容器更便携、更高效(两者都可以打包镜像)
  • 更改镜像源
  • 遇到不让部署的端口,解决博客在此

常用命令

  • 运行命令前记得打开 Docker Desktop
# 登入 Docker Hub(用户名为:courserli)
docker login -u courserli

# 从 Docker Hub 下载镜像(名字为:courserli 的 hello-docker)
docker pull courserli/hello-docker

# 分享镜像到 Docker Hub(名字为:courserli 的 hello-docker,默认 tag 为:latest)
docker push courserli/hello-docker

# 查看全部 docker 映像
docker image ls

# 构建 docker 映像(名字为:hello-docker,目标为当前文件)
docker build -t hello-docker .

# 运行 docker 映像(名字为:hello-docker)
docker run hello-docker

# 交互式运行 docker 映像(名字为:ubuntu)
docker run -it ubuntu

# 查看正在运行的 docker 容器进程
docker ps

# 查看已经停止的 docker 容器进程
docker ps -a

详细的命令可以看菜鸟教程

举个例子(来源于官方教程

下载映像项目(Application)
② 创建 Dockerfile 文件,内容如下:

# syntax=docker/dockerfile:1
FROM node:12-alpine
RUN apk add --no-cache python2 g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]

③ 构建 docker 映像,命令如下:

# -t 代表使创建过程为人类可读
docker build -t getting-started .

④ 启动 docker 映像,命令如下:

# -d 代表后台运行,否则在命令行中运行
# -p 代表映射端口,前者为本地端口,后者为映像项目端口
docker run -dp 2500:3000 getting-started

⑤ 打开 Web 浏览器访问 http://localhost:2500

Wifi 测速(参考视频

① 从 Docker Hub 下载镜像(名字为:adolfintel/speedtest)
docker pull courserli/hello-docker
② 运行 docker 映像(名字为:adolfintel/speedtest)
docker run -dp 2500:80 adolfintel/speedtest
③ 打开 Web 浏览器访问 http://localhost:2500

PS:我感觉这结果就 TM 离谱!我就是因为网速差才来学 Docker 想来测网速的,这测的跟鬼一样,怎么让我信服啊??真有这么快我电脑还能老断网?

标签:映像,hello,Docker,courserli,docker,运行
来源: https://www.cnblogs.com/CourserLi/p/15800269.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有