栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker笔记

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker笔记

1.概念

Docker类似于虚拟机可以环境隔离,但是比虚拟机效率要高很多启动也快很多。因为docker是基于一个kernel建多个容器,而虚拟机是虚拟化硬件。


2.Docke架构

Docker 的核心组件包括:
    1. Docker 客户端 – Client
    2. Docker 服务器 – Docker daemon
    3. Docker 镜像 – ImageRegistry
    4. Docker 容器 – Container

 images相当于我们创建的类,而这些类可以实例化多个对象,对象就是我们的容器(每个容器都有自己独立的文件系统),docker run 指令可以运行容器。构建的镜像可以同步到远程仓库,也可以从官方远程仓库library或者阿里云用docker pull命令复制下来。


3.Docker安装

安装之后可以运行

 

 Win10上Docker无法正常启动 出现install WSL2 kernel update的情况_LeungSr的博客-CSDN博客

systemctl docker start  启动docker


4.docker命令

官方命令参考Reference documentation | Docker documentation

4.1镜像命令

docker --herp                             显示所有命令

docker info                                 显示docker 信息

docker version                           显示docker的版本

docker images                          显示有哪些镜像

docker images -a                     显示所有镜像

docker images -q                     只显示镜像id

镜像和git版本控制一样会有一个ID, tag 和仓库名

docker pull 镜像名                        拉取镜像从官方(和git一样),默认last版本

docker pull 镜像名:tag名              拉取该镜像的指定版本

docker search 镜像名                   在docker商店搜索镜像

docker rmi -f 镜像名字/镜像id          删除镜像

4.2容器命令

docker run --name=“容器名" -d  镜像名  /bin/bash        新建容器并启动,运行一个容器用bash环境

-d 后台运行        --name="容器名"设置容器名

docker run -it 镜像名  /bin/bash   用交互的方式运行

docker ps                                       查看正在运行的容器

docker ps -q                                  只显示容器id

docker ps -a                                  查看所有运行的容器(也有运行过的)

exit                                                  退出容器

docker rm 容器id                           删除容器(正在运行的容器是不能删除的)

docker rm -f 容器id                       强制删除容器

docker rm $(docker ps -aq)         删除所有容器

docker start 容器id                       启动容器

docker restart 容器id                    重启容器

docker stop 容器id                       停止容器

docker kill 容器id                         强迫停止容器

ctrl + p + q                                     退出容器依然运行

4.3其他命令

docker exec -it 容器id /bin/bash进入这个容器并新建一个控制台

docker attach 容器id                   进入这个容器正在运行的控制台

docker cp 容器id/home/root/file /home

拷贝容器下用户目录的文件到系统home下       

 

4.4commit镜像

dockder commit -a="作者" -m="提交信息" 容器id  目标镜像名:tag

提交之后就可以用docker images查看自己提交的镜像的。就像虚拟机的快照,git的代码提交


5.容器数据卷

创建一个容器后,为了防止容器删了数据就没了。可以将容器的一个路径挂载到宿主机下。这样容器删了数据还在,容器关了也可以在宿主机编辑文件,容器内编辑文件也可以同步到宿主机

5.1指定路径挂载

docker run -it -v /宿主机路径:容器内路径 镜像名(-v === volum)

在宿主机可以看到映射(docker inspect 容器id)

5.2具名挂载

docker run -it -v 具名:容器内路径 镜像名(具名前不要加斜杠要不然就是指定路径)

docker volum inspect 具名------------查看具名挂载具体路径

5.3匿名挂载

docker run -it --name 容器名 容器内路径 镜像名(不指定宿主机路径)

docker volum list --------------查看所有卷

5.4数据容器卷


6.DockerFile

docker 可以通过dockerfile文件自动生成镜像,步骤如下

Docker build -f DockerFile -t 镜像名:tag .

#指令都要大写
FROM ubuntu

ECHO “fasfas”

#匿名挂载
VOLUM ["one", two]

CMD  /bin/bash

6.1 基础命令

FROM                   基础镜像

CONTAINER         作者

ADD                      拷贝文件到镜像

RUN                      启动镜像

CMD                     运行命令

ENTROPINT        运行命令

CP                        拷贝文件到镜像

EXPOSE              暴露端口

WORKDIR           指定工作目录(构建容器后默认的目录)

VOLUME             挂载镜像

ENV                     设置环境变量

docker history 镜像id                  显示镜像制作过程


7.提交镜像

docker login -u 用户名                先登录自己的docker hub账户

docker push 镜像名:tag              同步到自己的远程仓库

docker save 镜像压缩包             打包自己的镜像备份

docker load 压缩包                     加载打包好的镜像

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/345603.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号