ubuntu下docker的安装与使用
创始人
2025-05-29 07:01:54

添加apt的存储库

sudo apt-get updatesudo apt-get install \ca-certificates \curl \gnupg \lsb-releasesudo mkdir -m 0755 -p /etc/apt/keyrings
# 下载证书
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg# 使用 echo 命令输出一个包含 Docker APT 源信息的字符串。
# 使用 dpkg 命令获取当前系统的架构信息,并将其插入到源信息字符串中。
# 使用 lsb_release 命令获取当前系统的发行版代号,并将其插入到源信息字符串中。
# 使用 tee 命令将源信息字符串写入到 /etc/apt/sources.list.d/docker.list 文件中,该文件将被 apt-get 命令用于更新 Docker 软件包。
# 使用重定向符号 > 将 tee 命令的输出重定向到 /dev/null,以便禁止在控制台上显示源信息字符串。
echo \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装docker engine

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

文件目录

在ubuntu下docker的文件目录通常是/var/lib/docker
但是这个目录只有root才能进去,需要转换成root权限

sudo su -
cd /var/lib/docker

/var 是 Linux 系统中的一个目录,用于存储在系统运行过程中经常变化的文件。其中包括:

  • 日志文件:例如 /var/log 目录下保存了系统和应用程序的日志文件。

  • 缓存文件:例如 /var/cache 目录下保存了安装软件时下载的缓存文件。

  • 运行时数据:例如 /var/run 目录下保存了一些系统服务和进程运行时的状态信息。

  • 邮件:例如 /var/mail 目录下保存了本地用户的邮件。

  • 打印任务:例如 /var/spool 目录下保存了打印任务。

总之,/var 目录用于存储那些需要动态修改、增长或删除的数据。与之相对,/etc 目录则用于存储静态配置文件,/usr 目录则用于存储只读数据和应用程序。

其中/var/lib/docker/container文件夹用来存放container,Docker

启动关闭

以mysql为例子

docker run -itd --name -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123123 mysql
# 启动一个mysql
# -p 3306:3306 使主机的3306映射到容器的3306 可以通过主机上的Mysql访问Mysql
# 每次docker run之后会生成一个容器,并且保存所有设定参数,这些参数很难修改,第二次直接start即可

关闭

docket stop mysql

启动

docker start mysql

开机启动

可以将docker container制作成服务,让他随系统启动而启动

sudo su -
cd /etc/systemed/system
touch docker-container.service
vim docker-container.service

添加如下

[Unit]
Description=Docker Container
Requires=docker.service
After=docker.service[Service]
Restart=always
ExecStart=/bin/bash -c "/usr/bin/docker start mysql1 && /usr/bin/docker start -a mysql2"
ExecStop=/bin/bash -c "/usr/bin/docker start -t 2 mysql1 && /usr/bin/docker start -t 2 mysql2"[Install]
WantedBy=multi-user.target
# 这里启动的是两个容器/多个容器如果是一个可以改为
###########################################
# ExecStart=/usr/bin/docker start -a mysql
# ExecStop=/usr/bin/docker stop -t 2 mysql

容器内部设置

如果容器是一个ubuntu系统

可以通过docker exec -it image_name bash的方式进入容器进行一些操作

如果有需要在容器启动的时候一起启动的程序,可以在容器内部配置

vim /root/.bashrc

在其中加入

# startup run
if [ -f /root/startup_run.sh ]; then./root/startup_run.sh
fi
touch /root/startup_run.sh
vim /root/startup_run.sh

可以在这个文件里面添加需要执行的命令

# 比如我的容器里有一个jupyter notebook
#可以使用
nohup jupyter notebook --allow-root >> /root/jupyter.log 2>&1 &

这样设置完后,每次启动容器,都会启动一个jupyter notebook

容器的物理位置

docker run之后会生成一个容器,位于/var/lib/docker/containers文件夹中,但是这里面的文件夹名称很奇怪
在这里插入图片描述
都是这种,这其实是一个容器的Id

需要使用docker inspect查看容器id

docker inspect container_name | grep 'Id'
# 在这里 grep是一个命令行搜索程序,可以搜索后边的参数,
# | 字符称为管道符号,它用于将一个命令的输出重定向到另一个命令作为输入,是一种最基础的管道

在这里插入图片描述
这样我们就可以通过`Id进入到容器目录,

容器修改

目录下的文件夹是这样的,可以对这些文件进性一些需要的修改,可以达到修改容器的效果
在这里插入图片描述

也可以使用

docker container update 

来做一些修改,但限制很多

还有一种比较不容易出问题的方法,就是将容器封装回镜像,然后重新docker run的时候添加参数

docker stop container_name
docker commit container_name new_name
docker run ......
# 在这里配置具体参数
# 比如端口 名称等

相关内容

热门资讯

上交所最新上市发审动态揭保荐机... 导读:在这份《最新审核动态》,上交所也按照惯例通报了在IPO审核过程中发现带病闯关上市的两大监管案例...
股票行情快报:XD永吉股(60... 证券之星消息,截至2025年6月3日收盘,XD永吉股(603058)报收于7.92元,上涨1.15%...
“稳定币”概念股暴涨背后:三重... 本报(chinatimes.net.cn)记者卢梦雪 北京报道 美国《GENIUS法案》通过,香港《...
稳定币突然爆火,对我们有啥影响... 节前,其实有一件大事发生。那就是,香港政府在宪报上刊登了《稳定币条例》。《稳定币条例》正式成为法例,...
“童装第一股”五年亏掉5亿,深... 来源 | 深蓝财经撰文 | 杨波“童装第一股”,安奈儿的老板这回真不想干了。6月3日,安奈儿刊发关于...
成都天府机场外一辆新能源车着火... 来源 | TcehWire6月3日上午,有多位网友发视频称,四川成都天府机场T2航站楼外道路上一辆新...
三四千家都在卖?零公里二手车是... 说起最近的汽车市场,相信一个很神奇的名词突然爆火,这就是零公里二手车,零公里和二手车这两个看上去完全...
一年融资三轮,这家半导体公司获... 5月,证监会官网新增披露17家企业进行IPO辅导备案。至此,2025年新增披露123家企业辅导备案。...
有个股收益率突破2000%!港... 2025.06.03本文字数:2443,阅读时长大约5分钟作者 |第一财经 王方然"叮!"——一声信...
原创 特... 近期,美国联邦巡回上诉法院批准恢复执行特朗普的关税政策,这一消息瞬间吸引全球目光,再次将特朗普的关税...
布局无尽能源:这7家能源公司正... 中核集团透露,近日,新一代人造太阳“中国环流三号”实现百万安培亿度H模,即同时实现等离子体电流100...
全球及中国2MHz核磁共振岩芯... 全球及中国2MHz核磁共振岩芯分析仪行业动态规划及投资机遇调研报告2025-2031年 【全新修订...
李在明出口民调大幅领先 新总统... 新华社首尔6月3日电 韩国第21届总统选举3日正式投票。根据三大电视台在投票结束后公布的联合出口民调...
中国太保发布500亿战新并购基... 6月3日,中国太保正式发布总规模500亿元的太保战新并购基金与私募证券投资基金。上海市委常委、常务副...
6月4日A股投资避雷针︱电声股... 电声股份股东赏睿集团、曾俊、周晓露拟减持合计不超5%股份;博深股份董事陈怀荣拟减持不超1.38%股份...
年初以来上涨8.3%!渣打人民... 6月3日,渣打人民币环球指数(RGI)最新报告显示,该指数2025年前4月连续上行,升至八个月以来高...
董宇辉首次与省委书记互动,意义... 成为“老板”不到一年的董宇辉,和政界的互动达到了新高度。据《广西日报》报道,6月3日,广西壮族自治区...
21 深度丨国投证券高层再变阵... 21世纪经济报道记者李域 深圳报道国投证券高层人事变动还在持续。近日,五矿集团官网最新信息显示,原国...
*ST京蓝遭二次立案!信披违规... 记者 黄敏2025年5月31日,京蓝科技股份有限公司(*ST京蓝,证券代码:000711)发布关于收...
*ST恒立信披违规遭查,业绩预... 记者 秦楚远2024年8月16日,恒立实业发展集团股份有限公司(以下简称“*ST恒立”,代码0006...
华菱钢铁:5家投资者合计向硅钢... 华菱钢铁(000932.SZ)6月3日晚间公告披露,为加快推进公司硅钢项目建设,通过在湖南省联交所公...
央行多措并举稳资金 六月流动性... 为保持银行体系流动性充裕,中国人民银行日前发布公告称,5月央行以固定数量、利率招标、多重价位中标方式...
国产EDA概念股爆发,概伦电子... 6月3日,EDA概念股爆发。 截至收盘,概伦电子(688206.SH)涨近10%,盘中一度涨逾14%...
电商运营:2024年中国化妆品... 今天分享的是:电商运营:2024年中国化妆品年鉴 报告共计:509页 《2024 年中国化妆品年鉴》...
远见丨商业热点观察:中企“数字... 本期话题:随着全球化竞争格局的深刻变革和AI技术革命渗透,中国企业的“出海”战略也在加快。伴随商品、...
小米汽车一季度亏损收窄至5亿,... 6月3日,小米创始人雷军在小米投资者大会上表示,小米汽车业务亏损正在逐步收窄,预计在今年第三、四季度...
官宣!朱江涛获任招商证券总裁,... 6月3日盘后,招商证券发布《第八届董事会第二十次会议决议公告》,其中披露,董事会同意聘任朱江涛先生担...
招商银行原副行长朱江涛接任,招... 朱江涛担任总裁,招商证券管理层迎新。招商证券(600999.SH)6月3日公告称,聘任朱江涛担任总裁...
全球财经连线|贸易风向牵动全球... 南方财经记者李依农 上海报道全球市场再度受到贸易风向牵动。据央视新闻报道,美国总统特朗普宣布将把进口...