在WIN10中部署Docker
环境准备
开启Hyper-V
- 以管理员身份开启PowerShell,并运行如下命令开启Hyper-V
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
下载DOCKER DESKTOP
- Docker Desktop 官方下载地址:
https://hub.docker.com/editions/community/docker-ce-desktop-windows
- 双击下载的 Docker for Windows Installer 安装文件,一路 Next,点击 Finish 完成安装。
注意:如果无法启动Docker,请安装WSL2:https://czf-net.xyz/res/wsl.msi
替换DOCKER ENGINE源
- 对应设置中输入以下内容
"https://docker.mirrors.ustc.edu.cn"
检查DOCKER正常运行情况
- 开启命令行,输入以下内容
docker run hello-world
限制WSL2内存使用
-
按下 Windows + R 键,输入 %UserProfile% 并运行进入用户文件夹
-
新建 .wslconfig 文件并输入如下内容:
[wsl2] memory=2GB #根据个人电脑配置
swap=0
localhostForwarding=true
-
启动cmd命令提示符,输入 wsl --shutdown 来关闭当前的子系统
-
再次输入bash启动,此时内存已经降低
创建DOCKER镜像
编写DOCKERFILE
- 新建 Dockerfile 文件
FROM ubuntu:18.04
RUN cp /etc/apt/sources.list /etc/apt/sources.list.bck
RUN echo "" > /etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >> /etc/apt/sources.list RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse" >> /etc/apt/sources.list
RUN apt-get update
RUN apt-get install make
ARG USER_NAME
ARG USER_ID
RUN useradd --shell /bin/bash -u $USER_ID -c -o -m $USER_NAME
RUN usermod -a -G root $USER_NAME
#ENV 设置环境变量
#ENV http_proxy http://xxx:8080
#ENV https_proxy http://xxx:8080
#ENV ftp_proxy http://xxx:8080
#COPY 宿主机文件路径 镜像文件路径
构建镜像
- 输入以下内容
docker build --build-arg USER_NAME=$(whoami) --build-arg USER_ID=$(id -u) -t imageName:$(whoami) .
–build-arg 为Dockerfile中对应的传入参数
- 查看镜像
docker images
创建容器
- 输入以下内容
docker run -v $(pwd):/mnt -itd --name containName_$(whoami) imageName:$(whoami) /bin/bash
-v 为挂载共享数据卷的路径
注意:$(pwd) 需要输入绝对路径
- 查看正在运行的容器
docker ps
以用户登录容器
docker exec -it --user $(whoami) imageName_$(whoami) /bin/bash
镜像维护
更新镜像
- 通过容器更新镜像
docker ps
docker stop containerName
docker commit -a "$(whoami)" -m "env updated" containerName images:tag_$(date +%d%m)
导出镜像
- 保存包
docker save -o imageName.tar.gz imageName:tag_$(date +%d%m)
导入镜像
- 从包中导入
docker import imageName.tar.gz imageName:release_$(date +%d%m)
- 查看镜像
docker images
在LInux环境中上述操作通用
apt-get update
apt-get install docker