首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
SQL-Server
›
Docker——常用下令
返回列表
发新帖
Docker——常用下令
[复制链接]
发表于 2026-2-7 22:53:34
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
1.Docker是做什么的?
Docker 是一个开源的应用
容器
引擎,它让开发者可以打包他们的应用以及依靠包到一个可移植的
容器
中,然后
发布
到任何盛行的 Linux 呆板上,也可以实现假造化。它可以资助我们下载应用镜像,创建并运行镜像的
容器
,从而快速摆设应用
镜像和容器
当我们利用Docker安装应用时,Docker会自动搜索并下载应用镜像(image)。镜像不但包罗应用自己,还包罗应用运行所必要的环境、设置、体系函数库。Docker会在运行镜像时创建一个隔离环境,称为容器(container)。 镜像堆栈:
存储
和管理镜像的平台,Docker官方维护了一个公共堆栈。
下令解读(以MySQL摆设为例)
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
mysql
复制
代码
解读:
docker run -d :创建并运行一个容器,-d则是让容器以配景进程运行
--name mysql : 给容器起个名字叫mysql,你可以叫别的
-p 3306:3306 : 设置端口映射。
容器是隔离环境
,外界不可访问。但是可以
将
宿主机
端口
映射容器内到端口
,当访问宿主机指定端口时,就是在访问容器内的端口了。
容器内端口每每是由容器内的进程决定,比方MySQL进程默认端口是3306,因此容器内端口肯定是3306;而宿主机端口则可以恣意指定,一样平常与容器内保持同等。
格式: -p 宿主机端口:容器内端口,示例中就是将宿主机的3306映射到容器内的3306端口
-e TZ=Asia/Shanghai : 设置容器内进程运行时的一些参数
格式:-e KEY=VALUE,KEY和VALUE都由容器内进程决定
案例中,TZ=Asia/Shanghai是设置时区;MYSQL_ROOT_PASSWORD=123是设置MySQL默认暗码
mysql : 设置
镜像
名称,Docker会根据这个名字搜索并下载镜像
格式:REPOSITORY:TAG,比方mysql:8.0,此中REPOSITORY可以明确为镜像名,TAG是
版本
号
在未指定TAG的环境下,默认是最新
版本
,也就是mysql:latest
镜像的名称不是随意的,而是要到DockerRegistry中探求,镜像运行时的设置也不是随意的,要参考镜像的资助
文档
,这些在DockerHub网站大概软件的官方网站中都能找到。
如果我们要安装别的软件,也可以到DockerRegistry中探求对应的镜像名称和
版本
,阅读相干设置即可。
2.Docker常见下令
下令
阐明
docker pull
拉取镜像
docker push
推送镜像到DockerRegistry
docker images
检察本地镜像
docker rmi
删除本地镜像
docker run
创建并运行容器(不能重复创建)
docker stop
克制指定容器
docker start
启动指定容器
docker restart
重新启动容器
docker rm
删除指定容器
docker ps
检察容器
docker logs
检察容器运行日记
docker exec
进入容器
docker save
生存镜像到本地压缩文件
docker load
加载本地压缩文件到镜像
docker inspect
检察容器详细信息
增补:
默认环境下,每次重启假造机我们都必要手动启动Docker和Docker中的容器。通过下令可以实现开机自启:
# Docker开机自启
systemctl enable docker
# Docker容器开机自启
docker update --restart=always [容器名/容器id]
复制
代码
演示阐明:(以Nginx为例)
# 第1步,去DockerHub查看nginx镜像仓库及相关信息
# 第2步,拉取Nginx镜像
docker pull nginx
# 第3步,查看镜像
docker images
# 结果如下:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 16 months ago 141MB
mysql latest 3218b38490ce 17 months ago 516MB
# 第4步,创建并允许Nginx容器
docker run -d --name nginx -p 80:80 nginx
# 第5步,查看运行中容器
docker ps
# 也可以加格式化方式访问,格式会更加清爽
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"
# 第6步,访问网页,地址:http://虚拟机地址
# 第7步,停止容器
docker stop nginx
# 第8步,查看所有容器
docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"
# 第9步,再次启动nginx容器
docker start nginx
# 第10步,再次查看容器
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"
# 第11步,查看容器详细信息
docker inspect nginx
# 第12步,进入容器,查看容器内目录
docker exec -it nginx bash
# 或者,可以进入MySQL
docker exec -it mysql mysql -uroot -p
# 第13步,删除容器
docker rm nginx
# 发现无法删除,因为容器运行中,强制删除容器
docker rm -f nginx
复制
代码
下令别名
给常用Docker下令起别名,方便我们访问:
# 修改/root/.bashrc文件
vi /root/.bashrc
内容如下:
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dis='docker images'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
复制代码
然后,实行下令使别名收效
source /root/.bashrc
复制代码
回复
使用道具
举报
返回列表
浏览过的版块
Oracle
人工智能
DevOps与敏捷开发
Java
物联网
SAAS
锦通
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表