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

Docker的安装与简单操作命令

目录

前言

docker的安装

基础docker操作

容器管理

镜像管理

容器镜像封装与加载


前言

前文简单说明了容器技术出现的背景,与对docker做了结构上的介绍Container容器技术简介-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_72569959/article/details/134814887

讲到docker的运行是由三个关键组件组成的,本文则是讲解了docker的安装方法与操作命令

1、镜像image
只读状态的,docker通过image创建container 类似于在VMwareworkstation上创建虚拟机所使用的iso文件,iso是一种光盘格式的镜像

docker images
REPOSITORY    TAG       IMAGE  ID          CREATED         SIZE
hello-world         latest  9c7a54a9a43c    7 months ago       13.3kB

镜像来源有几种:远端仓库、本地仓库、docker tar、docker file,可以通过以下几种方式进行制作,稍后会细说
docker pull #远端拉取
docker build #通过docker file构建
docker load #拉取压缩包
docker commit #通过已有container重新封装

2、容器container

3、镜像仓库registry
远端仓库:hub.docker.com,阿里云仓库等
本地仓库可以自己搭建

docker的安装

环境可以比较随意

VMwareworkstation17 pro

centos7.8.2003

NAT网络

#1、通过get.docker.com官网下载get-docker.sh,并且增加参数,跳过安全验证
curl -fskSL get.docker.com -o get-docker.sh

#2、下载安装
#从外网直接安装
sudo sh get-docker.sh
#从阿里云安装
sudo sh get-docker.sh --mirror Aliyun

#3、自启动
systemctl enable docker --now

#4、把用户添加到docker组内,使其可以使用docker
usermod -aG docker ws
id ws
#uid=1000(ws) gid=1000(ws) groups=1000(ws),982(docker)
su - ws

#5、测试
docker run hello-world

#6、查看docker守护进程
ps -ef | grep -i dockerd
root      13168  0.4  1.9 1554288 75428 ?       Ssl  18:40   0:57 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

基础docker操作

查看docker版本

docker --version

docker version

#查看docker状态,可以看到docker的客户端与服务器状态、远端仓库地址等

docker info

容器管理

#容器运行
docker run httpd #直接在前台运行
docker run -d #在后台运行
docker run -p 1234:8080/tcp #端口映射,指定端口,将宿主机端口1234映射到容器8080端口,指定tcp协议
docker run -P #端口映射,随机端口
docker run --name #指定名字
docker run -it ...... /bin/bash#使其可交互,并且分配bash
docker run -v 宿主机路径:容器内地址 #指定外部挂载到容器内部,建议使用绝对路径
eg:docker run -itd --name test -p 1234:8080/tcp -v /iso:/var/tftp/boot centos /bin/bash
#CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS                                       NAMES
#886c57251999   centos    "/bin/bash"   37 seconds ago   Up 36 seconds   0.0.0.0:1234->8080/tcp, :::1234->8080/tcp   test

#重新进入已经后台运行的容器
docker exec -it 886c57251999 /bin/bash
exit #退出

#启动与关闭
docker start containerID #容器,启动!
docker restart containerID #重启

#查看正在运行的docker container
docker ps
#查看所有的docker container,包括没起来的
docker ps -a
#查看所有的正在运行docker的容器id
docker ps -q

#关闭容器
docker stop containerID #正常关闭
docker stop $(docker ps -aq) #全部关闭
docker kill containerID #强制关闭

#删除容器
docker rm containerID
docker rm -f containerID #强制删除
docker rm $(docker ps -aq) #全部删除

#复制文件
docker cp 宿主机⽂件路径 容器id:路径

镜像管理

#在镜像仓库中搜索镜像
docker search httpd

#从docker官网拉取镜像
#使用阿里云镜像加速,拉取镜像就会优先从远端阿里云仓库拉取,就会快很多
#https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
docker pull httpd
docker pull mysql:5.7 #指定版本拉取

#查看镜像
docker images
docker images -a #查看所有镜像
docker images -q #只查看镜像id
#给image添加tag
docker tag xxxxxxxx httpd

#删除镜像,默认删除latest版本
docker rmi httpd #指定名称
or
docker image rm httpd #同意思
docker rmi hello-world:latest #指定版本
docker rmi -f hello-world #强制删除

容器镜像封装与加载

#搭建环境
docker pull centos/httpd-24-centos7
docker run -d -p 10001:8080 --name cm01 centos/httpd-24-centos7

#容器打包
#docker commit -m "描述信息" -a "作者信息" 容器ID/容器名称 ⾃定义镜像名称:⾃定义标签
docker commit -m "ws" -a "ws" cm01 wsapache:v1.0

#镜像封装
#docker save 镜像名称:标签 -o 镜像打包的⽂件名 #默认当前目录
docker save wsapache:v1.0 -o wsapache.tar

 #清理环境

docker stop cm01

docker rm cm01

docker rmi wsapache:v1.0

#镜像加载与运行

docker load -i wsapache.tar

docker run -d -p 10001:8080 --name cm01 wsapache:v1.0


http://www.kler.cn/a/162975.html

相关文章:

  • 【机器学习】平均绝对误差(MAE:Mean Absolute Error)
  • LabVIEW 实现 find_nearest_neighbors 功能(二维平面上的最近邻查找)
  • void * 指针与整数进行加减运算
  • JavaScript数组去重的实用方法汇总
  • Redis - String 字符串
  • LED和QLED的区别
  • CSS——标准流、浮动、Flex布局
  • GO设计模式——7、适配器模式(结构型)
  • SAP UI5 walkthrough step7 JSON Model
  • 伦茨科技宣布ST17H6x芯片已通过Apple Find My「查找」认证
  • HTML5 Audio/Video 标签、属性、方法、事件汇总(详细)
  • 目标检测器技术演进简史
  • 3D点云:平面模型上提取凸(凹)多边形方法
  • jenkins中“Jenkins Plot Plugin”的使用方法,比较两个excel的数据差异
  • LeetCode124.二叉树中最大路径和
  • 微信小程序 - 格式化操作 moment.js格式化常用使用方法总结大全
  • 代理IP怎么使用?Mac苹果系统设置http代理IP教程
  • react-photo-view 的介绍、安装、使用。
  • HarmonyOS鸿蒙操作系统架构开发
  • Gitleaks - 一款高效的Github仓库敏感信息泄露查询工具
  • 小程序自动更新功能
  • RHEL网络服务器
  • 云计算ACP认证考试题库0-100
  • harmonyOS开发技巧(二)——沉浸式以及状态栏高
  • 前端知识笔记(三十七)———Django与Ajax
  • 2023年12月8日:UI登陆界面