Docker的安装与简单操作命令

目录

前言

docker的安装

基础docker操作

容器管理

镜像管理

容器镜像封装与加载


前言

前文简单说明了容器技术出现的背景,与对docker做了结构上的介绍Container容器技术简介-CSDN博客https://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

相关推荐
飞英思特无线充电28 分钟前
严苛场景巡检机器人的无线补能设计:点位、BMS、认证与运维边界
运维·机器人
Jimmy_jimi1 小时前
利用nginx代理完成url重定位
运维·nginx
卷无止境1 小时前
Windows 上丝滑开发 Python,并稳定构建 Docker 镜像
后端·python·docker
liuyicenysabel1 小时前
多服务上线日记三:
运维·服务器·笔记·学习
一只鹿鹿鹿3 小时前
大数据中心安全系统解决方案(Word文件)
大数据·运维·物联网·安全·政务
万里侯4 小时前
GitOps 2026年演进趋势:从配置管理到环境即代码的范式转移及Pull vs Push模型的再思考
微服务·容器·k8s
acd120094 小时前
一次线上OOM排查实录:从jmap到代码重构,我踩过的坑全在这了
容器·重构·kubernetes
领创工作室5 小时前
GitHub Workflows 全面解析:从核心概念到开源实现
运维·github
吕海洋6 小时前
目前可用的docker源2026.08
运维·docker·容器
fb_123457 小时前
Linux运维封神|SELinux详解+CentOS7启动原理+Root密码重置+开机故障排查实战
linux·运维·服务器