docker基础

文章详细介绍了Docker容器的隔离机制,依赖于Linux内核的Namespaces。它阐述了如何在CentOS7上安装Docker,包括设置镜像源、安装过程以及基础命令的使用,如启动、停止和管理容器。此外,还提到了容器的网络配置,端口映射,以及如何进入和管理容器内部。同时,文章提供了关于删除和保存镜像的操作,以及处理容器日志的方法。

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

 

功能:在docker容器中所用的环境都是相互独立的,主要通过linux内核特性Namespaces来实现,将每个容器的进程id、主机名、用户、网络等资源进行隔离

 因为贫穷没有亿图图示的会员,所以被挡住的字体,我就放在图底了。

 

 

 总而言之:容器是基于镜像创造的实例,容器之间相互隔离。

安装docker:

玩物丧志的快乐的博客_优快云博客-领域博主

docker命令:

保护我方胖虎的博客_优快云博客-flink,spring-boot,springcloud领域博主

VMware centos 7 连网 nat模式;

查看虚拟主机网卡

查看本机网卡

子网ip配置一个不同于主机ip网段的任意网段;

设置虚拟机为nat模式;

 

 

 注意一下ip租用时间,防止中途断网,默认30分钟;

 

配置VMnet8网卡;

 

 重启虚拟机网络服务;

 

docker 安装:

 1.卸载原有的docker

centos 粘贴:Shift+Ctrl+V

 2.安装utils

3.设置镜像源

4.更新yum软件包索引

 5.安装docker

走进docker:

基础命令:systemctl start docker

                systemctl restart docker

                systemctl stop docker

                systemctl enable docker    服务自启动;

启动docker

尝试拉取镜像:

 查看本地存在哪些镜像:

docker run 运行:

                         1.在本机找到镜像直接运行,找不到就去Docker Hub去下载镜像。

                         2. /var/lib/docker 为docker默认的工作路径。

                         3.帮助命令:docker --help

搜索镜像:docker search 镜像名
docker search --filter=STARS=9000 mysql (搜索 (收藏数)STARS >9000的 mysql 镜像)

拉取镜像:docker pull 镜像名
                docker pull 镜像名:tag(tag)->版本。

                指定版本号 镜像 可以在docker hub中查看。

删除镜像:
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID
docker rmi -f $(docker images -aq)   删除全部镜像  -a 意思为显示全部, -q 意思为只显示ID

强制删除镜像:docker image rm 镜像名称/镜像ID

保存镜像:保存为tar 压缩文件 这样方便镜像转移和保存 。

docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字

docker save tomcat -o /tomcatimg.tar

恢复镜像——>加载镜像;

docker load -i 镜像保存文件位置;Exp:docker load -i /tomcatimg.tar

docker run 镜像:

                          产生一个该镜像具体容器实例 .

                          docker ps -a #all,查看全部的容器。
                          docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash

                          # -it 表示 与容器进行交互式启动 -d 表示可后台运行容器  /bin/bash  交互路径

容器端口映射:

               如果外部想要访问容器,那必须得让容器中的端口与宿主机的端口建立联系绑定起来

               停止容器:docker stop 容器名/容器ID

               docker run -itd --name mysql001 -p 8888:6379 mysql /bin/bash

                -p 8888:6379 解析 将容器内部的 3306端口与docker 宿主机8888 端口进行映射 那就通过外部访问宿主机8888端口 即可访问到 docker 容器3306 端口.

如何进入容器内部?

               docker exec -it 容器名/容器ID /bin/bash; Exp: docker exec -it mysql001 /bin/bash

              容器ID 对应下的 /data 已经是进入到容器内部;

   或者:

              docker attach 容器名/容器ID   退出:exit(容器关闭)      crtrl+p+q(容器不会被关闭)

              使用docker run命令时 添加参数--restart=always 便表示,该容器随docker服务启动  而自动启动。

如何查看容器日志?

docker logs -f  容器ID

最后插播一下:

虚拟机特别容易中途奇怪断网,可以试一下:systemctl restart network.service,但是依旧无法阻止断的频繁。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值