2024年Docker常用操作快速查询手册

目录

一、Linux系统上 Docker安装流程(以ubuntu为例)

一、卸载所有冲突的软件包

二、设置Docker的apt存储库(这里使用的是阿里云软件源)

三、直接安装最新版本的Docker

三、安装指定版本的Docker

四、验证Docker是否安装成功

二、Docker命令解释

三、Docker常用命令

一、启动docker

二、关闭docker

三、重启docker

四、跟随系统自动启动

五、查询docker运行状态

六、下载镜像命令(下载,但是不运行)

七、创建镜像容器并运行(后面可以携带常用参数如 -d -p)

八、进入镜像容器内部

九、退出容器内部(运行时候未加-d容器会被关闭)

十、启动容器

十一、停止容器

十二、重启容器

十三、查看宿主机内全部镜像

十四、删除镜像(被删除的镜像不能在任何容器内运行)

十五、强制删除镜像

十六、保存镜像

十七、从压缩包中加载镜像

十八、查看正在运行的容器

十九、查看所有的容器

四、数据卷挂载和本地挂载

一、数据卷挂载(必须在创建容器的时候进行挂载)

二、本地挂载(必须在创建容器的时候进行挂载)

五、构建java项目镜像

六、docker自定义网络

1、创建自定义网络

2、将容器加入该网络

作者介绍

尾言


一、Linux系统上 Docker安装流程(以ubuntu为例)

其它操作系统,请前往docker官网查看

Install Docker Engine on Ubuntu | Docker Docs

一、卸载所有冲突的软件包

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

二、设置Docker的apt存储库(这里使用的是阿里云软件源)

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL http://mirrors.aliyun.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
# 设置为阿里云的软件源
sudo chmod a+r /etc/apt/keyrings/docker.asc# Add the repository to Apt sources:
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

三、直接安装最新版本的Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

三、安装指定版本的Docker

1、先查询可用版本

apt-cache madison docker-ce | awk '{ print $3 }'

2、选择指定的Docker版本进行安装

VERSION_STRING=5:26.1.0-1~ubuntu.24.04~noble
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

四、验证Docker是否安装成功

sudo docker run hello-world

二、Docker命令解释

docker run -d \--name mysql \-p 3307:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123456 \mysql:8.0

docker run

这行命令的意思是创建并运行一个容器

-d

这个参数的意思是,让容器在后台运行

-p [宿主机端口]:[容器内要需要被映射的端口]

所以-p 3307:3306的意思就是将宿主机的3307端口映射到mysql容器内的3306端口,这样就可以通过从外部访问宿主机的3307端口从而间接访问容器内的3306端口

-e 这个是配置环境变量参数,具体要配置什么,得看该容器在Docker hub中的具体说明

mysql:8.0

mysql是镜像名,就是你要从仓库下载的镜像,8.0是该镜像的版本。如果省略:8.0则默认安装最新版本

三、Docker常用命令

一、启动docker

systemctl start docker

二、关闭docker

systemctl stop docker

三、重启docker

systemctl restart docker

四、跟随系统自动启动

systemctl enable docker

五、查询docker运行状态

systemctl status docker

六、下载镜像命令(下载,但是不运行)

docker pull 镜像名:版本号

七、创建镜像容器并运行(后面可以携带常用参数如 -d -p)

docker run 镜像名

八、进入镜像容器内部

docker exec -it 镜像容器名 bash

九、退出容器内部(运行时候未加-d容器会被关闭)

exit

十、启动容器

docker start 容器名

十一、停止容器

docker stop 容器名

十二、重启容器

docker restart 容器名

十三、查看宿主机内全部镜像

docker images

十四、删除镜像(被删除的镜像不能在任何容器内运行)

docker rmi -f 镜像名

十五、强制删除镜像

docker image rm 镜像名

十六、保存镜像

docker save 镜像名 -o 保存路径
#例如 docker save mysql -o /root/mysql.tar

十七、从压缩包中加载镜像

docker load -i 镜像压缩包路径

十八、查看正在运行的容器

docker ps

十九、查看所有的容器

docker ps -a

四、数据卷挂载和本地挂载

一、数据卷挂载(必须在创建容器的时候进行挂载)

docker run -v 数据卷名字:容器内要被挂载的目录
# 例如 docker run -v conf:/usr/share/nginx/html

然后容器内的html目录就会被挂载在宿主机的/var/lib/docker/volumes/conf/_data

二、本地挂载(必须在创建容器的时候进行挂载)

docker run -v 本地绝对路径目录:容器内需要被挂载的路径
# 必须是绝对路径不能是相对路径,否则会认为是数据卷挂载

五、构建java项目镜像

1、新建一个名字未dockerfile的文件,没有文件格式后缀

2、编写dockerfile文件里的配置

FROM openjdk:11.0-jre-buster
#JDK基础镜像需要提前下载
COPY java-demo.jar /app.jar
#只用将java-demo.jar这个jar包的路径改为你自己的
ENTRYPOINT["java","-jar","/app.jar"]
#入口

3、执行构建指令

docker build -t 你起的镜像名:版本号 dockerfile文件所在目录

六、docker自定义网络

1、创建自定义网络

cocker network create 自定义网络名

2、将容器加入该网络

docker network connect 自定义网络名 容器名

然后就可以通过自定义网络名去替代容器的IP地址,并且在同一个网络的容器们都可以互相访问。

 作者介绍

作者本人是一名人工智能炼丹师,目前在实验室主要研究的方向为生成式模型,对其它方向也略有了解,希望能够在CSDN这个平台上与同样爱好人工智能的小伙伴交流分享,一起进步。谢谢大家鸭~~~

 如果你觉得这篇文章对您有帮助,麻烦点赞、收藏或者评论一下,这是对作者工作的肯定和鼓励。  

尾言

 如果您觉得这篇文章对您有帮忙,请点赞、收藏。您的点赞是对作者工作的肯定和鼓励,这对作者来说真的非常重要。如果您对文章内容有任何疑惑和建议,欢迎在评论区里面进行评论,我将第一时间进行回复。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/659941.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis主从+哨兵搭建

redis主从哨兵搭建 1. 工程准备2. 基于Dockerfile构建2.1 拷贝工程到工作目录2.2 安装依赖包2.3 解压redis安装包、编译、安装2.4 拷贝配置文件到安装目录 3. 配置文件3.1 redis-master.conf3.2 redis-slave.conf3.3 sentinel-master.conf3.4 sentinel-slave.conf 4. 启动redis…

使用groovy+spock优雅的进行单测

使用groovyspock优雅的进行单测 1. groovyspock示例1.1 简单示例1.2 增加where块的示例1.3 实际应用的示例 2. 单测相关问题2.1 与SpringBoot融合2.2 单测数据与测试数据隔离2.3 SQL自动转换(MySQL -> H2) 参考 Groovy是一种基于JVM的动态语言&#x…

用户中心(中)

文章目录 数据库设计用户表建表 登录/注册后端一、规整项目目录二、实现基本数据库操作自动生成器的使用**(1) 模型 user 对象自动生成****(2) 测试一下** 三、注册逻辑四、测试 数据库设计 1.什么是数据库?存数据的 2.数据库里有什么?数据表(理解为exce…

基于ST的STM32F407ZGT6嵌入式uCOS-III V3.08 操作系统工程实验

1.基于的开发板 2.原理图截图: 3.主控芯片框图与性能特点: High-performance foundation line, Arm Cortex-M4 core with DSP and FPU, 1 Mbyte of Flash memory, 168 MHz CPU, ART Accelerator, Ethernet, FSMC The STM32F405xx and STM32F407xx family is based on the high…

分布式与一致性协议之Paxos算法(二)

Paxos算法 如何达成共识 想象这样一个场景,某地出现突发事件,当地村委会、负责人等在积极研究和搜集解决该事件的解决方案,你也决定参与其中,提交提案,建议一些解决方法。为了和其他村民的提案做区分,你的…

Transformer实战 单词预测

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍦 参考文章:TensorFlow入门实战|第3周:天气识别🍖 原作者:K同学啊|接辅导、项目定制 一、定义模型 from tempfile import Tempor…

在config.json文件中配置出来new mars3d.graphic.PolylineCombine({大量线合并渲染类型的geojson图层

在config.json文件中配置出来new mars3d.graphic.PolylineCombine({大量线合并渲染类型的geojson图层 问题场景: 1.浏览官网示例的时候图层看到大量线数据合并渲染的示例 2.矢量数据较大量级的时候,这种时候怎么在config.json文件中尝试配置呢&#x…

大数据运维之数据质量管理

第1章 数据质量管理概述 1.1 数据质量管理定义 数据质量管理(Data Quality Management),是指对数据从计划、获取、存储、共享、维护、应用、消亡生命周期的每个阶段里可能引发的各类数据质量问题,进行识别、度量、监控、预警等一…

【好书推荐8】《智能供应链:预测算法理论与实战》

【好书推荐8】《智能供应链:预测算法理论与实战》 写在最前面编辑推荐内容简介作者简介目录精彩书摘前言/序言我为什么要写这本书这本书能带给你什么 致谢 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴…

ARP学习及断网攻击

1.什么是ARP ARP(Address Resolution Protocol)是一种用于在IPv4网络中将IP地址映射到MAC地址的协议。在计算机网络中,每个网络接口都有一个唯一的MAC地址(Media Access Control address),用于识别网络设备…

tomcat部署

1.客户端和服务器端的交互过程 客户端发送请求给服务器 由服务器中的服务器软件拦截请求 根据请求调动相应的Java业务逻辑执行相关的处理 我们前面知道Java代码的运行势必提前将其装载在JVM上 而服务器软件一般都是由Java代码编写 所以两者都要装载在JVM上 而Java业务逻辑装载…

个人学习资源整理

文章目录 视频相关stl源码讲解相关 网站相关CPP网站 视频相关 stl源码讲解相关 跳转 网站相关 CPP网站 https://cplusplus.com/ https://gcc.gnu.org/