Docker在windows下的安装、使用(基础+中级)

本文详细介绍了如何在Windows10上安装Docker,包括修改镜像源至阿里云,以及基础命令的使用,如创建镜像、启动容器、删除容器等。此外,还讲解了如何通过Dockerfile创建镜像以及数据卷的使用,包括数据卷容器和容器与主机间的数据共享。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2019/10/17

本文涉及最新docker安装、使用、以及自己创建镜像、推送到阿里云上。
环境:windows10

安装
进入docker官网,建议注册账户,类似github一样,也有个docker hub,管理各种镜像。
在这里插入图片描述
在这里插入图片描述
下载完成打开运行exe,按照提示进行安装。
检验:打开命令提示符cmd。
docker version出现相应的版本提示
docker run hello-world,出现类似下图说明安装完成:
在这里插入图片描述


修改镜像源
利用Docker自带的镜像源,现在会非常的慢,所以我们将默认镜像源改为国内的,这里我们改为阿里镜像源

  • 开启阿里云容器镜像服务,找到分配的加速器地址:
    在这里插入图片描述
  • 复制第二个框里面的内容,并打开docker-setting-Daemon,将相应的内容复制到框的里面。restart Docker。
    在这里插入图片描述在这里插入图片描述

一些基础命令
docker [OPTIONS] COMMAND
docker image ls
docker container ls
docker pull image_name:TAG
#从库中拉取指定镜像
docker run --name containerName -d image_name:TAG
#启动。 -i:交互模式 -t:分配伪终端(命令行)-d:后台运行 -p:端口访问 (6666:8080)6666:宿主机端口 8080:应用开放端口
ctrl+p+q
#quit the 交互模式,won’t stop the container
docker rm -f container_name
#删除相应container
docker attach container_id
#连接上相应container的交互界面

容器创建新镜像
docker commit -m=“description” -a=“creator” container_id/container_name image_name:TAG
#如:docker commit -m=“first commit” -a=“hehe” ubuntuuu ubuntu:16.04
详见:https://www.runoob.com/docker/docker-command-manual.html(当然了,更推荐官方网站)。


容器持久化

  • 数据卷(container-host)
    1.直接命令 2.Dockerfile添加:
    1.docker run -it -v /宿主机绝对路径目录(created itself):/容器内目录(created itself):ro 镜像名:TAG
    #ro:容器内只读,宿主机单项更改
    2.volume["/dataConatiner1","/dataContainer2"]
    #只能操作容器内目录,具体宿主机目录,通过docker inspect container_id查看

  • 数据卷容器(container-container)
    docker run --name containerName -d image_name:TAG --volumes-from container_id
    #此时,dockerfile里面dataconatiner1、2均是共享文件夹。


Dockerfile
dockerfile用来创建镜像
常用命令:

namemeaningexp
FROM基础镜像Docker Hub中99%镜像 都是通过再base(scratch)镜像中安装和配置需要的软件构建出来
MAINTAINER镜像维护者的姓名和邮箱地址MAINTAINER name<mailaddress>
RUN容器构建时需要的命令
EXPOSE启动后对外暴露的端口
WORKDIR创建容器后,终端默认登陆进来的工作目录WORKDIR $MY_path
ENV构建景象过程中设置环境变量ENV MY_path /etc/pro
ADDcopy+decompress
COPY将从构建上下文目录中<源目录>的文件/目录复制到新的一层的镜像内的目标位置
VOLUME容器数据卷,用于数据保存和持久化工作
CMD指定容器启动时要启动的命令,但只有最后一个生效,CMD会被docker run 后面的参数替换CMD [“可执行文件”,“参数一”,“参数二”] 或 CMD <命令>
ENTERPOINT指定容器启动时要启动的命令。区别于CMD,run后面加参数不会被覆盖,而是追加(扩充功能)。
ONBUILD当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发

docker bulid -f dockerfilePath -t imageName:TAG .
#最后需要“.”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值