当前位置: 首页 > news >正文

docker安装及使用

什么是 docker

Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。
Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便、快捷。

安装 docker

1、更新yum镜像仓库
# 设置docker的镜像仓库
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)
# 或者
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)# 设置docker镜像源
yum-config-manager \--add-repo \https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
2、安装docker
# 卸载 podman 和 buildah 这两个软件包
yum erase podman buildah# 安装docker
yum install docker-ce docker-ce-cli containerd.io --allowerasing# 启动Docker
systemctl start docker #启动docker
systemctl status docker #查看docker 运行状态# 查看安装的docker
docker --version
3、为Docker配置镜像源
# 创建docker配置文件
sudo mkdir -p /etc/docker# 配置镜像加速源
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
}
EOF# 查看镜像加速问价内容是否配置成功
sudo systemctl daemon-reload# 重启docker
sudo systemctl restart docker
4、安装docker-compose工具
# 下载docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 复制文件
cp /opt/install/docker-compose-linux-x86_64  /usr/local/bin/docker-compose-linux-x86_64# 修改文件名
mv /usr/local/bin/docker-compose-linux-x86_64  /usr/local/bin/docker-compose# 赋予可执行权限
chmod +x /usr/local/bin/docker-compose# 查看版本号
docker-compose --version

docker 常用命令

常用系统命令
# 查看docker概要信息
docker info# 开机启动
systemctl enable docker# 查看docker状态
systemctl status docker# 启动、停止、重启docker
systemctl start stop restart docker
常用镜像命令
# 列出本地主机上的镜像
docker images# 搜索镜像
docker search 镜像名字# 拉取(下载)镜像
docker pull 镜像名字# 查看镜像
docker system df 查看镜像/容器/数据卷所占的空间# 删除镜像
docker rmi 某个XXX镜像名字ID
# 删除单个
docker rmi  -f 镜像ID
# 删除多个
docker rmi -f 镜像名1:TAG 镜像名2:TAG 
# 删除全部
docker rmi -f $(docker images -qa)
# 将镜像归档为tar文件
docker save -o  your_image.tar your_image
# 加载tar文件为镜像
docker load -i tar文件
常用容器命令
# 新建+启动命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明(常用):有些是一个减号,有些是两个减号
–name=“容器新名字” 为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;也即启动交互式容器(前台有伪终端,等待交互);
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p
例如: 
# 创建并启动 oracle
docker run -d --name depth-oracle11g --privileged=true --restart=always -p 5004:1521  registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g# 列出当前所有正在运行的容器
docker ps
# 查找容器
docker ps | grep 容器名称# 强制停止容器
docker kill 容器ID或容器名# 删除已停止的容器
docker rm 容器ID# 启动、停止、重启容器
docker start stop restart 容器ID或者容器名# 查看容器日志
docker logs -f --tail=300 容器名# 进入容器
docker exec -it 容器名 /bin/bash# 从容器内拷贝文件到主机上
docker cp  容器ID:容器内路径 目的主机路径
# 从主机拷贝文件到容器内部
docker cp  主机路径 容器ID:容器内路径# 导出容器
docker export 容器ID > 文件名.tar# 导入容器
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
cat centos.tar.gz | docker import - xiaobear/centos:8.8

http://www.mrgr.cn/news/34311.html

相关文章:

  • 【LeetCode】【算法】279. 完全平方数
  • 【支付行业-支付系统架构及总结】
  • 基于SpringBoot+Vue实现剧本杀服务平台【源码+LW+PPT+部署】
  • C#中break和continue的区别?
  • 单链表算法题(数据结构)
  • 【LLM】3:从零开始训练大语言模型(预训练、微调、RLHF)
  • 公司将被千万美金收购,工程师却误删数据库 —— 没 有 备 份!!!
  • 深度解读 2024 Gartner DevOps 魔力象限
  • cadence 17.4之allegro 不能设置net颜色
  • 中小微企业生产管理利器-- 超轻量生产工单系统
  • 【实战篇】读写分离有哪些坑?
  • 对条件语言模型(Conditional Language Model)的目标函数的理解
  • 美业SaaS收银系统如何收银?博弈美业实操/美业门店管理系统源码
  • 湖北建筑类初级职称申报的全方位解读
  • 1000Km弹射巡飞器技术详解
  • struts2
  • 使用代理服务导致网络延迟增大的影响
  • 【SSM-Day2】创建SpringBoot项目
  • CVE-2024-44902 Thinkphp反序列化漏洞
  • ELK 企业级日志分析系统
  • 1267:【例9.11】01背包问题(从二维优化一维dp问题)
  • Kafka3.8.0+Centos7.9的安装参考
  • 【人工智能学习之常用损失函数浅谈】
  • minitrace使用
  • 使用k8s部署RainLoop-Webmail
  • 本地部署高颜值某抑云音乐播放器Splayer并实现无公网IP远程听歌