Windows10 安装使用 Docker

下载安装 Docker Desktop

https://docs.docker.com/docker-for-windows/install/



点击运行 Docker Desktop。

如果出现如下提示

下载安装 Linux 内核更新包

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

或者

https://docs.microsoft.com/zh-cn/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package

PowerShell 执行

wsl --set-default-version 2

点击Restart

PowerShell 执行

docker version

打开 vscode 安装 Docker 插件

创建编写 Dockerfile

FROM dokken/ubuntu-18.04

RUN apt-get update \
&& apt-get install net-tools -y \
&& apt-get install git -y \
&& apt-get install npm -y \
&& npm install n -g \
&& n stable \
&& apt-get install cmake -y \
&& apt-get install gdb -y \
&& apt-get install vim -y CMD [ "/bin/bash"]

以 \ 换行 && 符号连接多条命令

创建Docker镜像

Dockerfile 目录下执行(不能放在磁盘根目录下执行)

docker build -t <image_name>:<tag_name> -f <dockerfile_path> .

示例执行 docker build -t test:v1.0 .

查看已创建的镜像

docker images

启动镜像

docker run -d -it --name <nick-name> <image_name>:<tag_name> /bin/bash

示例执行 docker run -d -it test:v1.0 /bin/bash

查看容器

docker ps -a

附加进入容器

docker exec -it <CONTAINER_ID> /bin/bash

上面容器的ID为 81df71ab0ccc

示例执行 docker exec -it 81df71ab0ccc /bin/bash

输入 exit 退出容器

提交当前的容器操作到指定的镜像分支

docker commit -m "<logs>" -a "<author>" <CONTAINER_ID> <image_name>:<tag_name>

示例执行 docker commit -m "update" -a "gaobowen" 81df71ab0ccc test:v1.0

停止容器

docker stop <CONTAINER_ID>

启动容器

docker start <CONTAINER_ID>

删除容器

docker rm <CONTAINER_ID>

删除镜像

docker rmi <IMAGE_ID>

导出 镜像 生成 本地文件

docker save <image_id> > <file_name>.tar

导入 本地文件 生成 镜像

docker load < <file_name>.tar

目录映射

docker run -d -it -v <local_dir>:<docker_dir>  <image_name>:<tag_name> /bin/bash

端口映射

docker run -d -it -p <local_port>:<docker_port> <image_name>:<tag_name> /bin/bash

同时映射 端口 和 目录

docker run -d -it -p <local_port>:<docker_port> -v <local_dir>:<docker_dir> <image_name>:<tag_name> /bin/bash

批量端口映射

以映射7000-8000端口为例

Dockerfile EXPOSE命令:

EXPOSE 7000-8000

Docker run命令:

docker run --expose=7000-8000 或者 docker run -p 7000-8000:7000-8000

以我本机为例,在“d:/blog/docker/testdir”下创建

package.json

{
"name": "testdir",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "npm i express && node index.js"
},
"author": "",
"license": "MIT"
}

index.js

const express = require('express');
const app = express();
let port = 5000; app.use(express.json());
app.use(express.urlencoded({ extended: true })); app.get('/', (req, res) => res.send(`docker listening on port ${port} !`)); app.listen(port, () => console.log(`docker listening on port ${port} !`));

示例执行A

docker run -d -it -v d:/blog/docker/testdir:/code -p 4000:5000 test:v1.0 /bin/bash
docker ps -a
docker exec -it 0313d3ac65ed /bin/bash

查看docker容器中的“/code”目录,本地文件出现在docker中

"/code" 目录下执行 npm run test, 本机浏览器访问 localhost:4000 发现本机的4000端口映射到docker的5000端口上了

VSCode 管理 docker 容器

VSCode 安装 Remote Development 扩展

Remote Explorer -> Containers 查看控制容器

附加进入容器

File -> OpenFolder 打开容器中的指定目录

新增 本地 到 Docker 的端口映射

Windows10 安装使用 Docker的更多相关文章

  1. Windows10下的docker安装与入门 (二)使用docker引擎在容器中运行镜像

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何 ...

  2. windows安装使用docker

    doker就是一个容器,如果想要在windows安装还必须要用另外一个工具docker-toolbox.下载地址:https://mirrors.aliyun.com/docker-toolbox/w ...

  3. Docker系列教程01-Centos7安装新版Docker教程(10步)

    最近一直忙于开发,没有时间好好总结一下docker的知识.其实现在docker的教程已经很多很多了,但是很多系统的教程都是基于Ubuntu系统,因为官方推荐使用Ubuntu系统啊,原因在于Ubuntu ...

  4. Mac OS X 下安装使用 Docker (2017年7月)

    两年前的一篇 Mac OS X 下安装使用 Docker 安装时还是用的 boot2docker, 如今进化到了在 Mac OS X 下用 Docker Toolbox, 而且命令也由 boot2do ...

  5. windows10安装JIRA

    windows10安装MySQL数据库 一.问题现象: cmd执行“mysql”命令,提示:ERROR 2003 (HY000): Can't connect to MySQL server on ' ...

  6. Docker构建YApi镜像, Docker安装YApi, Docker部署YApi

    概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建.发布.维护 API,YApi 还为用户提供了优秀的交互体验,开发 ...

  7. SpringBoot Docker Mysql安装,Docker安装Mysql

    SpringBoot Docker Mysql安装,Docker安装Mysql ================================ ©Copyright 蕃薯耀 2018年4月8日 ht ...

  8. Centos6.5 安装配置docker

    宿主机:win7 64位   vagrant封装环境运行在VirtualBox 虚拟机上CentOS6.5,这是做测试时的一个环境,顺便错用安装docker玩玩.   centos6.5可以直接安装d ...

  9. 在Mac和win7上分别安装了docker后,发现原来的vagrant都启动不了了

    在Mac和win7上分别安装了docker后,发现原来的vagrant都启动不了了 liugx@liugx vagrant$ vagrant up /opt/vagrant/embedded/gems ...

  10. Windows10安装MariaDB

    截至写这篇博客为止,MariaDB官方的稳定版本为,详情访问官方地址:https://downloads.mariadb.org/ 安装之前先简单说一下MariaDB:         MariaDB ...

随机推荐

  1. 基于Hive的大数据分析系统

    1.概述 在构建大数据分析系统的过程中,我们面对着海量.多源的数据挑战,如何有效地解决这些零散数据的分析问题一直是大数据领域研究的核心关注点.大数据分析处理平台作为应对这一挑战的利器,致力于整合当前主 ...

  2. 【Scala】03 函数

    1.Scala的方法语法: object Hello { def main(args : Array[String]) : Unit = { // scala 允许在方法的声明中再声明方法,并且调用 ...

  3. 《Python数据可视化之matplotlib实践》 源码 第四篇 扩展 第十章

    图 10.1 import matplotlib.pyplot as plt import numpy as np plt.axes([0.1, 0.7, 0.3, 0.3], frameon=Tru ...

  4. 国产芯片 —— 2023年龙芯最新的 3A6000 确实已经追上 2020年发布的 10代 i3酷睿 四核处理器

    看新闻: https://news.cnblogs.com/n/752564/ 首先,龙芯3A6000已经有了i3酷睿10代的水平,这是十分可喜可贺的,可以说这个CPU的性能已经是国产CPU的天花板了 ...

  5. git 如何在本地批量删除匹配名称分支

    背景 有时间创建了一大堆的dev/*分支,远程合并完就删除了,但本地还留下一大堆,自己又忘记删除了.一个个删除太麻烦.后面发现居然有批量删除的方法 备注:这里是window下powershell的命令 ...

  6. mybatis-plus之逻辑删除&自动填充&乐观锁

    1.背景 mybatis-plus除了常规的一些CRUD还有其他的的功能如下 2.逻辑删除 2.1.实现配置 步骤一.数据库准备一个逻辑删除字段,一般是deleted 步骤二.配置文件中添加入下配置 ...

  7. 第 111 场双周赛 - 力扣(LeetCode)

    第 111 场双周赛 - 力扣(LeetCode) 2824. 统计和小于目标的下标对数目 - 力扣(LeetCode) 枚举即可 class Solution { public: int count ...

  8. 【牛客刷题】HJ8 合并表记录

    题目链接 这题最开始的想法就是用一个map来解决问题: func main() { num := 0 fmt.Scan(&num) a := 0 b := 0 m := make(map[in ...

  9. Antd-React-TreeSelect前端搜索过滤

    在开发过程中,但是antd中的搜索会把多余的也会带出来 就例如下图,我们本想去搜索1但是他会把其子节点都带出来,其实我们的本意是像搜2一样或者当中间隔层处理 但是我们该如何解决这样的问题呢如何做到下面 ...

  10. JavaScript设计模式样例十五 —— 状态模式

    状态模式(State Pattern) 定义:创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象.目的:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类 ...