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

news2024/11/20 12:18:04

目录

一、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.coloradmin.cn/o/1636525.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx实现端口转发与负载均衡配置

前言:当我们的软件体系结构较为庞大的时候,访问量往往是巨大的,所以我们这里可以使用nginx的均衡负载 一、配置nginx实现端口转发 本地tomcat服务端口为8082 本地nginx端口为8080 目的:将nginx的8080转发到tomcat的8082端口上…

每日一题:插入区间

给你一个 无重叠的 ,按照区间起始端点排序的区间列表 intervals,其中 intervals[i] [starti, endi] 表示第 i 个区间的开始和结束,并且 intervals 按照 starti 升序排列。同样给定一个区间 newInterval [start, end] 表示另一个区间的开始和…

【嵌入式笔试题】网络编程笔试题

非常经典的笔试题。 2.网络编程(29道) 2.1列举一下OSI协议的各种分层。说说你最熟悉的一层协议的功能。 ( 1 )七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理 层。 ( 2 )五层划分为:应用层、传输层、网络层、数据链路层、物理层。 ( 3 )…

vue 脚手架 创建vue3项目

创建项目 命令:vue create vue-element-plus 选择配置模式:手动选择模式 (上下键回车) 选择配置(上下键空格回车) 选择代码规范、规则检查和格式化方式: 选择语法检查方式 lint on save (保存就检查) 代码文件中有代码不符合 l…

国家开放大学2024年春《Matlab语言及其应用》实验一熟悉Matlab 操作环境参考答案

实验报告 姓名: 学号: 实验一名称:熟悉 Matlab 操作环境 实验目标:通过简单变量和矩阵的录入、计算和查看相关信息,了解 Matlab 操作界面 及各子窗口使用方法。熟悉一系列便于使用的 Matlab 函数和文件的工具。 实…

java-springmvc 01 补充 javaweb 三大组件Servlet,Filter、Listener(源码都是tomcat8.5项目中的)

01.JavaWeb三大组件指的是:Servlet、Filter、Listener,三者提供不同的功能 这三个在springmvc 运用很多 Servlet 01.Servlet接口: public interface Servlet {/*** 初始化方法* 实例化servlet之后,该方法仅调用一次 * init方法必须执行完…

【GitHub】github学生认证,在vscode中使用copilot的教程

github学生认证并使用copilot教程 写在最前面一.注册github账号1.1、注册1.2、完善你的profile 二、Github 学生认证注意事项:不完善的说明 三、Copilot四、在 Visual Studio Code 中安装 GitHub Copilot 扩展4.1 安装 Copilot 插件4.2 配置 Copilot 插件&#xff0…

【机器学习-19】集成学习---投票法(Voting)

一、引言 集成学习(Ensemble Learning)是机器学习领域中的一种重要策略,它通过结合多个模型的预测结果来提高整体性能。在单个模型容易过拟合或欠拟合的情况下,集成学习能够通过综合多个模型的优点来减少这种风险,从而…

ESP32 和 Arduino 之间建立蓝牙连接

ESP32 和 Arduino Uno 可以通过蓝牙进行通信。为此,您必须使用与 Arduino 兼容的蓝牙模块。我们将使用 HC-05(06) 蓝牙模块。 连接Arduino Uno和HC-05蓝牙模块 将 HC-05 蓝牙模块连接到 Arduino 板。将模块的VCC、GND、RX、TX引脚连接到Ard…

Python 与 TensorFlow2 生成式 AI(二)

原文:zh.annas-archive.org/md5/d06d282ea0d9c23c57f0ce31225acf76 译者:飞龙 协议:CC BY-NC-SA 4.0 第四章:教授网络生成数字 在前一章中,我们涵盖了神经网络模型的构建基块。在这一章中,我们的第一个项目…

04 Docker练习赛从0开始到 docker 镜像提交

1.1 本地安装 docker 工具 这里以ubutun下安装docker为例,其他操作系统安装命令略有不同,可自行百度。(建议使用阿里源安装速度快) sudo apt install docker.io如果你本地有gpu,请继续执行如下命令以支持gpu调用: 注意: 英伟达对 docker 支持的 linux 发行版:https:/…

【计算智能】基本遗传算法在优化问题中的应用与实验【理论到程序】

文章目录 1. 引言:遗传算法简介2. 基本遗传算法(SGA)2.1 基本遗传算法的构成要素1. 染色体编码2. 适应度函数3. 遗传算子 2.2 实验设计与方法1. 算法流程2. 伪代码3. python实现1. 导入模块2. 目标函数 f(x)3 初始化种群4. 计算适应度5. 选择…

20232906 2023-2024-2 《网络与系统攻防技术》第七次作业

20232906 2023-2024-2 《网络与系统攻防技术》第七次作业 1.实验内容 一、使用Metasploit进行Linux远程渗透攻击 任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实…

如何在Spring Boot中配置数据库密码加密

如何在Spring Boot中配置数据库密码加密? alibaba/druid Wiki GitHub 使用ConfigFilter alibaba/druid Wiki GitHub 巧用Druid数据源实现数据库连接密码的加密解密功能 import com.alibaba.druid.filter.config.ConfigTools;public class Testttt {public stat…

汽车CAN总线技术详解

1. 历史 2. 应用 3. 优点 4. 基础概念 5. 组成 6. 应用 7. 网关 8. 波形分析 参考文献 汽车CAN总线技术详解(100多页支持下载)

帮助 Python 用户构建 CLI 界面:直观易写、简单高效 | 开源日报 No.240

tiangolo/typer Stars: 13.7k License: MIT typer 是一个构建出色命令行界面(CLI)的库,基于 Python 类型提示。它旨在让开发者轻松创建用户喜欢使用的 CLI 应用程序。其主要功能和核心优势包括: 直观易写:强大编辑器…

MySQL中怎么存放一条记录

2.2.1. MySQL中一行记录是怎么存储的? MySQL的数据存储在那个文件? 每创建一个 database(数据库)都会在 /var/lib/mysql/ 目录里面创建一个以 database 为名的目录,然后保存表结构和表数据的文件都会存放在这个目录里…

透视天气:数据可视化的新视角

数据可视化在天气方面能够为我们带来极大的帮助。天气是人类生活中一个重要的因素,对于农业、交通、航空、能源等各个领域都有着重要的影响。而数据可视化技术通过将复杂的天气数据转化为直观、易懂的图表、图像或地图等形式,为我们提供了更深入、更全面…

Windows系统下安装Mosquitto的步骤(2)

接前一篇文章:Windows系统下安装Mosquitto的步骤(1) 本文内容参考: Windows10上安装Mosquitto的步骤(win10、win11 安装mqtt) - IPS99技术分享 MQTT:windows环境下配置MQTT服务器(mosquitto)_…

第7篇:创建Nios II工程之控制LED<二>

Q:上一期我们完成了Quartus硬件工程部分,本期我们创建Nios II软件工程这部分。 A:创建完BSP和Nios II Application之后,在source文件main.c中添加LED控制代码:system.h头文件包含了Platform Designer系统中IP的硬件信…