在Window系统快速使用Ubuntu-Docker

在Window系统快速使用Ubuntu-Docker

1、Window 安装Ubuntu

勾选下面适用于Linux的Window子系统:
在这里插入图片描述
在微软商店下载Ubunto子系统并进行安装:
在这里插入图片描述
安装是根据提示创建Ubuntu账号用户及密码
在开始菜单栏点击UbuntoLts就可以进入到Ubunto的命令行界面:
在这里插入图片描述

退出命令行界面子系统也会相应的退出,可以通过wsl命令查看子系统运行状态(Runing是运行状态,Stopping是停止状态):
在这里插入图片描述
WSL2安装Ubuntu迁移到其他盘(D盘)或者其他电脑:

--关闭系统实例
wsl --shutdown
--导出系统镜像到D盘路径
wsl --export Ubuntu-20.04 E:\WSL\Ubuntu-20.04.tar
--Window去C盘找启动文件复制到D盘并改文件夹名字(名字太长了)为Ubuntu-20.04
copy C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu20.04LTS_2004.6.16.0_x64__79rhkp1fndgsc D:\WSL\Ubuntu-20.04
--注销原来的系统实例
wsl --unregister Ubuntu-20.04
--查看是否注销
wsl -l -v

--导入D盘的Ubuntu系统
wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04 D:\WSL\Ubuntu-20.04.tar --version2
--在D:\WSL\Ubuntu-20.04目录下开启cmd管理器执行命令修改默认用户
.\ubuntu2004.exe config --default-user 原先设置的用户名称

--在Window的C盘Ubuntu可以在设置中进行卸载

--创建快捷键
D:\WSL\Ubuntu-20.04\ubuntu2004.exe就是D盘Ubuntu启动入口,可以创建快捷键和固定到Window开始位置

2、Ubuntu安装Docker

--2.1修改apt镜像源地址
//打开如下列表:
sudo vim /etc/apt/sources.list
//将原始的 Docker 源地址 https://download.docker.com/linux/ubuntu 替换为一个可用的镜像源地址。
例如,阿里云的 Docker 镜像源为:
deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu focal stable
sudo apt-get update
--2.2安装Docker:
sudo apt-get update
// 允许APT使用HTTPS:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
// 添加Docker官方GPG秘钥(切换国内镜像):
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
// 添加Docker稳定版本仓库:
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ $(lsb_release -cs) stable"
// 再次更新软件包索引
sudo apt-get update
// 安装最新版本的 Docker Engine-Community 和 containerd,输入以下命令:
sudo apt-get install docker-ce docker-ce-cli containerd.io
// 若要让非root用户也能运行Docker命令,需要将该用户添加到docker组(需要先切换root用户再进行操作):
sudo -i
sudo usermod -aG docker ${USER}   -------------------例如: sudo usermod -aG docker zhagnsan
su - zhagnsan
// 启动docker服务(一般需要加上sudo 管理员权限才能启动docker成功,前面加了docker组就不需要sudo):
service docker start
// 列出docker现有镜像
docker images
// 配置docker服务开机自启(一般不配置,自己手动启动就行):
systemctl enable docker

配置docker加速器
(自己的阿里云个人镜像容器上有镜像加速器:按照阿里云官方推荐命令执行就行):
在这里插入图片描述

3、运行一个基于dockette/jdk8环境的简单jar后台

Docker构建容器方式:(DockerFIle(新手学习这个好点)和DockerCompose两种方式构建)

--下载一个jdk8镜像容器
docker pull dockette/jdk8

在这里插入图片描述
这里可以通过内存情况可以看到Window的Linux子系统Ubuntu是可以直接访问到C盘和D盘的,其都挂载在/mnt目录下,可以把jar直接从Window系统直接复制过来
在这里插入图片描述
创建Docker容器并运行

--创建 Docker image镜像临时目录
mkdir /usr/local/docker/app
cd /usr/local/docker/app

--从D盘直接复制jar文件到Window的子系统Ubunto的镜像临时目录下
sudo cp /mnt/d/Desktop/app.jar  .

vi Dockerfile

--编辑Dockerfile文件,内容如下:
FROM dockette/jdk8
WORKDIR /app
COPY  app.jar  ./app/app.jar
CMD ["java","-jar","appT.jar","-Dfile.encoding=utf-8"]

--在当前目录下执行docker镜像app-docker构建:
docker build -t app-docker .  

--开放9100端口
sudo firewall-cmd --add-port=9100/tcp --permanent    (firewall命令没有可以通过提示下载防火墙)

--启动docker容器,基于app-docker镜像:内部端口映射到9100(这样window平台可以通过9100端口进行访问)
docker run -p 9100:8080 --name app-docker -d app-docker

--删除容器、镜像
docker rm app-docker
docker rmi IMAGEID  (通过docker images查看镜像app-docker的IMAGE ID)


--关闭容器
docker ps -a (查看对应的CONTAINER ID)
docker stop b4ced1c473a7 (b4ced1c473a7就是 CONTAINER ID)

--重启容器
docker ps -a (查看对应的CONTAINER ID)
docker restart b4ced1c473a7 (b4ced1c473a7就是 CONTAINER ID)

最终运行效果:
后台app容器已经启动成功
在这里插入图片描述
可以看到启动日志是正常启动
在这里插入图片描述
在Window的Postman中发送请求可以看到9100端口已经可以访问容器内容:
在这里插入图片描述

4、推送本地镜像到阿里云个人仓库中(官网:https://www.aliyun.com/)

1. 登录阿里云Docker Registry
$ docker login --username=xxxx registry.cn-guangzhou.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码。

您可以在访问凭证页面修改凭证密码。

2. 从Registry中拉取镜像
$ docker pull registry.cn-guangzhou.aliyuncs.com/xxxx/app-docker:[镜像版本号]
3. 将镜像推送到Registry
$ docker login --username=xxxx registry.cn-guangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-guangzhou.aliyuncs.com/xxxx/app-docker:[镜像版本号]
$ docker push registry.cn-guangzhou.aliyuncs.com/xxxx/app-docker:[镜像版本号]
//请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。

4. 选择合适的镜像仓库地址
从ECS推送镜像时,可以选择使用镜像仓库内网地址。推送速度将得到提升并且将不会损耗您的公网流量。
如果您使用的机器位于VPC网络,请使用 registry-vpc.cn-guangzhou.aliyuncs.com 作为Registry的域名登录。

5. 示例
//使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。
$ docker images
REPOSITORY                                                         TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
registry.aliyuncs.com/acs/agent                                    0.7-dfb6816         37bb9c63c8b2        7 days ago          37.89 MB
$ docker tag 37bb9c63c8b2 registry-vpc.cn-guangzhou.aliyuncs.com/acs/agent:0.7-dfb6816
//使用 "docker push" 命令将该镜像推送至远程。
$ docker push registry-vpc.cn-guangzhou.aliyuncs.com/acs/agent:0.7-dfb6816

最终创建的自定义容器Docker镜像就推送到阿里云个人仓库中,之后再其他电脑都可以进行拉取和部署容器:
在这里插入图片描述

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值