Docker简单学习


Docker简单学习

这里没叙述安装啥的过程,Linux里面安装很简单的。而且Docker官方文档写的挺明白的。

这个主要看的B站视频:https://www.bilibili.com/video/BV1R4411F7t9

Docker概念图

image-20210509202234962

网站

体验学习Docker的一个网站:https://labs.play-with-docker.com/,提供一个在线环境直接使用。

image-20210509213624353

默认给4小时的学习时间,200是指已经运行的镜像映射的服务器端口。


基本命令

镜像操作

  • pull nginx 镜像:docker pull nginx(等效于nginx:latest)
    从远程仓库下载已经有了的镜像

  • 查看镜像列表:docker images (本机已有的镜像)或者 docker image ls

    image-20210509203714096

  • 删除镜像:docker rmi【 name】

    image-20210509211840818

容器操作

  • 运行:docker run 【-d】(后台运行不阻塞shell) 【-p 81:80】(指定容器端口映射,内部:外部) nginx(镜像名)

    端口映射是说Docker虚拟机内的端口81,映射到现在服务器的端口80。外部访问服务器端口80,然后服务器再去访问Docker虚拟机的端口81。

  • 查看正在运行的镜像(容器):docker psimage-20210509203923649
  • 进入Docker虚拟机的镜像(容器)中的bash:docker exec -it container id(不用打全,前缀区分) bash

    image-20210509204023115

  • 删除容器(停止运行):docker rm -f 【container id】(不用打全,前缀区分)
    image-20210509205659303

  • commit镜像:docker commit 【id】(不用打全,前缀区分) name
    镜像修改过之后可以用这个搞一个copy的
    image-20210509205925321

DockerFile构建新镜像

编写DockerFile,然后从DockerFile来从已有镜像构建新镜像

比如我们这里在当前目录./下新建了一个index.html,然后复制到虚拟机中的nginx/html下,替换掉默认的首页。

1
2
3
4
# 从nginx镜像来构建
From nginx
# 复制./目录下所有文件,到虚拟机的html文件夹下
ADD ./ /usr/share/nginx/html/

image-20210509210407064

使用Dockerfile构建镜像:docker build -t [NewImageName] [存放Dockerfile的文件夹]
如下,注意最后有个点 . 指的是当前目录

image-20210509210728371

最后通过m2的100端口运行一下可以看到新镜像的效果。

tar文件

保存为tar:docker save name tar name

image-20210509211925462

从tar加载:docker load < [文件名]

image-20210509213526053

扩展命令:docker run -d -p 200:80 -v $(pwd):/use/share/nginx/html/ –name test nginx:1.13

使用200映射内部80端口,使用当前路径$(pwd)映射到内部html文件夹下,运行时名称显示test,nginx镜像版本使用1.13

image-20210509212627874

  • Powershell下使用:${pwd}
  • Linux下使用:$(pwd)

文章作者: SongX64
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 SongX64 !
  目录