docker入门笔记

kuku kuku     2022-10-14     574

关键词:

Docker 可以理解为一个轻量化的虚拟机, 启动速度快,本身占的资源小

 


[重要], 容器里是不能保存数据的,容器只要一停止, 所有的数据都会丢失,所以如果重要的数据, 都需要通过配制,把数据保存在 host 机器上。
根据 Docker 内的文件系统设计情况。Docker 镜像被存储在一系列的只读层。当我们开启一个容器,Docker 读取只读镜像并添加一个读写层在顶部。
如果正在运行的容器修改了现有的文件,该文件将被拷贝出底层的只读层到最顶层的读写层。在读写层中的旧版本文件隐藏于该文件之下,但并没有被不破坏 - 它仍然存在于镜像以下。
当Docker的容器被删除,然后重新启动镜像时,将开启一个没有任何更改的新的容器 - 这些更改会丢失, 此只读层及在顶部的读写层的组合被Docker称为Union File System(联合文件系统)

 

官方镜像网站: hub.docker.com
官方网站在国外, 下载镜像的时候,可能会比较慢, 使用 阿里云加速器, 需要申请才可以使用。

 

常用命令

docker -v
查看 docker 的当前版本

docker pull [imageName]
从仓库里下载一个指定的镜像名称到本地

docker run
这个是创建一个容器,并启动, 可以通过 --name 参数指定容器的名称,
-d 参数, 让容器在后台运行, 不加此参数, 命令行将一直处于工作状态,不参进行其他操作

docker start [container name]
运行一个已经存在的容器, container name 就是通过 docker run 命令创建的容器

docker restart [container name]
重启一个容器

docker stop [container name]
停止一个正在运行的容器

docker stop $(docker ps -q)
停止所有正在运行的容器

docker diff [container name]
查看容器相对镜像修改了哪些文件

docker rm [container name]
删除一个已经存在的容器, 如果容器正在运行,则删除失败

docker inspect [container name]
查看容器的详细信息

docker ps -a
列表所有容器, 如果不指定参数 -a, 则只会列表正在运行的容器

docker images
列表所有的镜像

docker rmi [image name]
从本地删除一个指定的镜像

数据卷(Volumn)

有些情况下, 容器里的应用需要保存数据,如数据库应用,数据库里的内容是需要保存起来,这个时候, 需要把主机中的某个目录映射到容器中去,使用 -v 参数,如 MYSQL, 通过 使用 -v 参数, 为容器映射一个目录到 host 上来: docker run -d -p 3306:3306 -v /my/own/datadir:/var/lib/mysql mysql
官方提供的 mysql 镜像, 默认把数据文件放在了 /var/lib/mysql 目录,这样就把容器中的数据保存到主机上来了。
在 windows 里, 使用 /d/own/datadir 或 d:/own/datadir 都可以。

 

进入容器操作

容器在运行这后, 如果我们需要修改或查看容器中的内容,需要进行入容器中,
有四种方法:
1、docker attach containerid, 这种方法试了, 没效果
2、通过 ssh 连接到容器中去, 但是好像说不推荐使用这种方式
3、nsenter 工具, https://github.com/jpetazzo/nsenter, 没用过
4、使用 docker exe -it containerid bash 这样最简单了, 执行后当前命令行工具就切换到了容器内部,可以在这里执行相关的命令,最后使用 exit 退出。

 

容器互联

当一个主机上有两个容器, 一个放 web 应用, 一个放数据库应用,那么 web 应用怎么访问另一个容器中的数据库呢? 通过 --link 参数来设置
docker run -d --name web --link db:dbserver nginx

--link 参数的格式为 --link name:alias,其中 name 是要链接的容器的名称,alias 是这个连接的别名。 通过这样处理后, web 应用连接数据库字符串的 server 就是 dbserver 了。

 

其他相关资料

https://www.jianshu.com/p/cf6e7248b6c7?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

docker容器从入门到实战0826(笔记整理)

##docker容器安装和配置####docker的git-hub网站(账号rshare,密rshare520):https://github.com/login#docker官网hub仓库(账号flyer520,密码rhsare520):https://hub.docker.com#docker官网文档和镜像:https://docs.docker.com/samples/centos/#doc 查看详情

docker入门学习笔记(代码片段)

docker基础操作入门笔记镜像操作容器操作数据卷操作(挂载)为什么要挂载如何挂载其他docker设置开机自启时间同步问题jar包的运行文章中几乎所有的写容器Id的地方,都可以使用容器名称来写命令镜像操作列出镜像... 查看详情

《docker技术入门与实战》读书笔记

更改ubuntu的源debhttp://mirrors.aliyun.com/ubuntu/xenialmainrestricteddebhttp://mirrors.aliyun.com/ubuntu/xenial-updatesmainrestricteddebhttp://mirrors.aliyun.com/ubuntu/xenialuniversedebhttp://mirrors.al 查看详情

docker入门详细笔记(代码片段)

这个笔记是狂神说的docker基础篇视频的对应的笔记:https://www.bilibili.com/video/BV1og4y1q7M4进阶视频:https://www.bilibili.com/video/BV1kv411q7Qc转载链接:OddfarNote;有一说一,他们的博客是真滴好看也可参考:http 查看详情

docker入门详细笔记(代码片段)

这个笔记是狂神说的docker基础篇视频的对应的笔记:https://www.bilibili.com/video/BV1og4y1q7M4进阶视频:https://www.bilibili.com/video/BV1kv411q7Qc转载链接:OddfarNote;有一说一,他们的博客是真滴好看也可参考:http 查看详情

《docker技术入门与实战》读书笔记与实践

创建支持SSH的服务的镜像Dockerfile内容FROM ubuntuMAINTAINER from www.mtian.net by mtiannetRUN echo "deb http://mirrors.aliyun.com/ubuntu/ xenial main restrict 查看详情

docker学习笔记:第2节docker使用入门(代码片段)

 运行一个新的容器:dockerrun-ti--namesecondubuntu:16.04bash命令解释:Dockerrun是从一个镜像运行一个容器的指令。-ti参数的含义是:terminalinteractive,这个参数可以让我们进入容器的交互式终端。--name指定容器的名字࿰... 查看详情

docker笔记分享(五)(代码片段)

15个Docker命令在这篇文章中,我们将学习15个DockersCLI命令。如果你还不了解Docker,请查看Docker入门与实战第三版的前几个章节。Docker命令约有十亿个(给或接受十亿个)。Docker文档范围很广泛,但当您刚入门时,文档会非常庞大... 查看详情

docker入门-对镜像的操作

Docker系列参考自书籍<Docker技术入门与实战>,本博客以笔记为主.如果转载请注明出处.-博客园:玲珑骰子安红豆 本章目录: 1.获取镜像 2.查看镜像信息 3.搜寻镜像 4.删除镜像 5.创建镜像 6.导出和载入镜像 ... 查看详情

docker入门-对镜像的操作

Docker系列参考自书籍<Docker技术入门与实战>,本博客以笔记为主.如果转载请注明出处,谢谢各位大哥了. 本章目录: 1.获取镜像 2.查看镜像信息 3.搜寻镜像 4.删除镜像 5.创建镜像 6.导出和载入镜像 7.上传镜... 查看详情

docker学习笔记1--安装和配置

技术资料docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔记:http://www.open-open.com/lib/view/open1423703640748.html 深入浅出docker:http://www.infoq 查看详情

docket学习--docker入门

什么是Docker?  Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、baremetal、OpenStack集群... 查看详情

docker学习笔记:第2节docker使用入门(代码片段)

 运行一个新的容器:dockerrun-ti--namesecondubuntu:16.04bash命令解释:Dockerrun是从一个镜像运行一个容器的指令。-ti参数的含义是:terminalinteractive,这个参数可以让我们进入容器的交互式终端。--name指定容器的名字࿰... 查看详情

docker入门(01)centeros配置docker

参考技术A序言:本次教程是我第一次学习docker时候写下的笔记和心得,用的云服务器也是新安装纯净的centeros系统,过程中可能涉及到一些额外的系统操作,本系列文章不会涉及太多的理论和原理,更倾向于操作,适合新手无脑上手,请... 查看详情

docker学习笔记.初识docker(代码片段)

Docker一,惊鸿一瞥二,Docker入门1,运行容器2,简单使用3,守护式容器4,在容器内部运行进程5,自动重启容器和删除容器6,深入容器三,使用Docker镜像和仓库1,基本镜像操作2,用Docker... 查看详情

docker系列之学习笔记教程汇总

Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为... 查看详情

docker容器-入门级(代码片段)

1.1 容器简介1.1.1 什么是 Linux 容器Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再... 查看详情

docker容器(代码片段)

@[TOC]Docker容器容器简介资源推荐Docker—从入门到实践github:https://github.com/yeasy/docker_practice非常详细的Docker学习笔记docker-imagecontainer基本操作-常用命令CENTOS:Docker安装centos容器基本概念Docker镜像(Image)是一个特殊的 查看详情