Docker-基本命令
后台-插件-广告管理-内容页头部广告(手机) |
目录
一、Docker与虚拟机技术
二、Docker功能
三、安装
安装:
1、环境准备:
2、安装docker
3、配置阿里云镜像加速
4、Docker是怎么工作的
5、Docker为什么比虚拟机快
四、docker命令
1、镜像命令 Docker官方镜像库:https://hub.docker.com/
2、容器命令
3、日志打印
4、查看进程信息
5、查看容器信息
6、文件copy
7、端口暴漏
8、查看cpu状态
9、portainer可视化面板
五、Docker镜像
1、Docker加载原理
2、分层原理
六、Commit镜像
一、Docker与虚拟机技术
传统虚拟机,虚拟一条硬件,运行一个完整的操作系统,然后在系统上安装和运行软件
容器内应用直接运行在宿主机的内核上,容器没有自己的内核,也没有虚拟硬件
每个容器之间,互相隔离,拥有自己单独的文件系统,互补影响。
二、Docker功能
1、简化程序
2、节省开支
3、便于迁移
4、简化运维与开发
三、安装
1、镜像(image):好比一个模板,用来创建容器服务,如tomcat镜像文件 => run => tomcat容器,可以通过一个镜像创建多个容器(好比一个类可以创建多个对象,可以为对象提供各种方法服务)
2、容器(container):独立运行一个或一组应用,通过镜像创建(互相隔离,比如对象对象之间互相隔离)
3、仓库(repository):存放镜像的地方,分为公有仓库和私有仓库
安装:
1、环境准备:
- #linux服务器,版本3.10.0以上
- #查看linux版本命令:
- uname -r
2、安装docker
- #卸载旧版本
- sudo yum remove docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-engine
- #需要的安装包
- sudo yum install -y yum-utils
- #设置镜像仓库
- yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- #安装docker相关的
- sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- #启动docker
- systemctl start docker
- #查看docker是否启动成功
- docker version
- #测试hello world
- docker run hello-world
- #查看镜像
- docker images
- #卸载docker
- sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- rm -rf /var/lib/docker #docker默认工作路径
3、配置阿里云镜像加速
镜像加速源
镜像加速器 | 镜像加速器地址 |
---|---|
Docker 中国官方镜像 | https://registry.docker-cn.com |
DaoCloud 镜像站 | http://f1361db2.m.daocloud.io |
Azure 中国镜像 | https://dockerhub.azk8s.cn |
科大镜像站 | https://docker.mirrors.ustc.edu.cn |
阿里云 | https://ud6340vz.mirror.aliyuncs.com |
七牛云 | https://reg-mirror.qiniu.com |
网易云 | https://hub-mirror.c.163.com |
腾讯云 | https://mirror.ccs.tencentyun.com |
- sudo mkdir -p /etc/docker
- sudo tee /etc/docker/daemon.json <<-'EOF'
- {
- "registry-mirrors": ["https://registry.docker-cn.com"]
- }
- EOF
- sudo systemctl daemon-reload
- sudo systemctl restart docker
4、Docker是怎么工作的
Docker 是一个 CS架构,Docker 的守护进程运行在主机上,通过TCP协议从客户端访问,Docker server接收到Docker-Client的指令,就会执行这个命令;
5、Docker为什么比虚拟机快
Docker的容器是一个阉割版的Linux服务器,
Docker具有比虚拟机更少的抽象层
Docker利用的是宿主机的内存,VM需要利用Guest OS的内存
四、docker命令
- docker ps 查看当前运行中的容器
- docker images 查看镜像列表
- docker rm container-id 删除指定 id 的容器
- docker stop/start container-id 停止/启动指定 id 的容器
- docker rmi image-id 删除指定 id 的镜像
- docker volume ls 查看 volume 列表
- docker network ls 查看网络列表
- docker info 系统信息,包括镜像和容器的数量
- docker version 系统版本
- docker --help 帮助
1、镜像命令 Docker官方镜像库:https://hub.docker.com/
- docker images 查看镜像
- -a 查看所有镜像
- -q 查看所有镜像ID
- docker pull[:tag] 下载镜像,可选版本
- docker 采用分层下载,同个镜像不同版本,在不同层次上依赖的数据相同
- docker可以将不同版本依赖的相同项共用,只下载不同项文件。
- docker rmi -f ID/Name 依据ID或者name删除iamge
- docker rmi -f ${docker images -a -q} 删除所有的镜像
- docker rmi -f id1 id2 id3 删除多个image
2、容器命令
- 下载镜像
- docker pull tomcat
- 运行容器
- docker run [可选参数] image 创建运行容器
- -d 后台运行,守护进程
- --name 给容器起名字
- -P 8081:8080 端口映射
- -p 随机指定端口
- -it 使用交互式方式运行,进入容器查看内容
- 进入与退出容器
- docker run -it -p 8088:8080 -d tomcat 运行容器
- docker exec -it 容器i bash
- docker attach 容器ID 进入容器
- 区别:
- exec 进入容器开启一个新的终端
- attach 进入容器,不会开启新线程
- 可以进入查看一些容器的目录
- exit 退出容器并停止
- ctrl + p + q 退出容器不停止容器
- 查看容器
- docker ps 查看正在运行容器
- docker ps -a 查看所有运行的容器
- docker ps -n=1 只显示一个容器
- -q 显示容器的ID
- docker rm ID 删除容器,只能删除停止的容器
- docker rm -f ${docker ps -aq} 删除所有容器
- rm id1 id2 id3 删除所有容器
- 停止容器
- docker start id 启动容器
- docker restart id 重启容器
- docker stop id 停止容器
- docker kill id 停止容器
容器内的内容阉割了一些功能和文件,所以有部分命令是无法使用的
3、日志打印
docker logs -tf --tail 10 ID 打印容器日志,后面10行4、查看进程信息
docker top ID5、查看容器信息
docker inspect ID6、文件copy
docker cp id:文件path 目的path 从容器内copy到容器外7、端口暴漏
需要大同外网到云服务器之间的通路,还需打通linux 与 容器之间的通路,使用 -p 8080:8080即可打通。
8、查看cpu状态
docker stats 查看cpu状态9、portainer可视化面板
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer五、Docker镜像
镜像为轻量级的软件包,用户打包软件运行环境
获取镜像:远程仓库下载,复制粘贴,自己定制Dockerfile
1、Docker加载原理
联合文件系统:一种分层、轻量级并且高性能的文件系统,及与其他镜像共享部分依赖的文件,如:A,B镜像共享C,先安装了A的同时,C也安装,那么在安装B时,就无需在安装C。
bootfs:系统启动需要引导加载的文件
rootfs:在bootfs之上的,不同操作系统
所有的rootfs依赖于bootfs
2、分层原理
高层复用底层文件
六、Commit镜像
修改镜像
docker commit -m="描述信息" -a="作者" 容器id 目标镜像名:[tag]1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。
在线投稿:投稿 站长QQ:1888636
后台-插件-广告管理-内容页尾部广告(手机) |