Docker使用
Docker使用
3.5 Docker镜像使用
可以使用 docker images 来列出本地主机上的镜像。
各个选项说明:
l REPOSITORY:表示镜像的仓库源
l TAG:镜像的标签
l IMAGE ID:镜像ID
l CREATED:镜像创建时间
l SIZE:镜像大小
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本。
当我们在本地主机上使用一个不存在的镜像时,Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它。
如: 下载mysql,使用docker pull mysql命令。
可以使用 docker search 命令来搜索镜像。
如使用docker search mysql来查找MySQL镜像。
l NAME: 镜像仓库源的名称
l DESCRIPTION: 镜像的描述
l OFFICIAL: 是否 docker 官方发布
l stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
l AUTOMATED: 自动构建。
镜像删除使用 docker rmi 命令,比如删除MySQL镜像:
通过Docker看板(Dashboard)删除image镜像
3.6 Docker容器使用
(1)启动容器
以下命令使用nginx镜像启动一个容器,参数为以命令行模式进入该容器:
docker run --name webserver -p 81:80 -d nginx
参数说明:
l --name webserver:容器名称。
l -p 81:80: 端口进行映射,将本地 81 端口映射到容器内部的 80 端口。
l -d nginx: 设置容器在在后台一直运行。
最后我们可以通过浏览器可以直接访问 81 端口的 nginx 服务:
使用下面命令查看容器:
docker ps
也可以通过Docker看板(Dashboard)来查看:
(2)停止容器
使用下面命令可以停止容器:
docker stop webserver
看板显示如下:
也可以通过看板来启动容器
(2)删除容器
使用下面命令可以删除容器:
docker rm webserver
也可以通过看板启动,停止,删除容器。
3.8 Docker镜像的导入、导出
docker 提供把镜像导出export(保存save)为文件的机制,这样就可以把镜像copy到任意地方了。
- 列出镜像
docker images
2.导出镜像
docker save -o <保存路径> <镜像名称:标签>
执行下面命令:
docker save -o ./webapi4.tar webapi4
如把webapi4 导出到当前文件夹,
3.导入镜像
使用load命令导入。
docker load --input ./webapi4.tar
删除镜像webapi4,导入镜像。
3.9 Docker容器的导入、导出
在Linux容器下
使用export导出容器,导出容器命令格式:
docker export <容器名> > <保存路径>
如果导出容器正在运行的webapi5容器,先停止,再导出。命令如下:
docker stop WebApi5
docker export WebApi5 > ./WebApi5.tar
1.导入容器
导入容器的命令:
docker import <文件路径> <容器名>
把当前文件夹下的WebApi5.tar文件拷贝到其他机上,在机器机上运行:
docker import ./WebApi5.tar WebApi5
再启动此容器即可。
在Windows容器下
停止容器也可以不停止,只要下一步commit成功即可
将容器commit为镜像
docker commit WebApi5 webapi5image
再把镜像导出,导入,启动容器即可。
建议
可以依据具体使用场景来选择命令
若是只想备份images,使用save、load即可
若是在启动容器后,容器内容有变化,需要备份,则使用export、import
3.10 使用BAT自动导出,导入
cd C:\Users\15481\source\vuedocker\danjian
docker commit WebApi5 webapi5image
docker save -o ./webapi5.tar webapi5image
docker stop WebApi5
docker rm WebApi5
docker load --input ./webapi5.tar
docker run --name WebApi5 -p 83:80 -d webapi5image
Docker-compose 主要基础命令:
build 生成或重建服务
bundle 从Compose文件生成Docker bundle
config 验证并查看撰写文件
create 创建服务
down 停止并删除容器、网络、镜像和卷
events 从容器接收实时事件
exec 在正在运行的容器中执行命令
help 获取命令帮助
images 显示镜像列表
kill 杀死容器
logs 查看容器的输出
pause 暂停服务
port 打印端口绑定的公共端口
ps 显示容器列表
pull 拉取服务镜像
push 推送服务镜像
restart 重新启动服务
rm 移除停止的容器
run 运行一次性命令
scale 设置服务的容器数
start 启动服务
stop 暂停服务
top 显示正在运行的进程
unpause 取消暂停服务
up 创建并启动容器
version 显示Docker-Compose版本信息
参考:
@echo off:: dotnet 发布目录
set publishDir=E:\TEMP\abc\
set codeDir=D:\Source\Webapi
set hostname=root@0.0.0.0
set port=111111
:: linux 服务器上的目录
set projDir=/abc/core
set container=abccore
set image=core_abc:latest
set ymlfile=/abc/core/docker-compose.stage.yml
cd /d %codeDir%
dotnet publish -c Release -o %publishDir%if %errorlevel% == 0 (
pscp -P %port% -r %publishDir% %hostname%:%projDir%
if %errorlevel% == 0 (
ssh -p %port% %hostname% "docker stop %container%"
if %errorlevel% == 0 (
ssh -p %port% %hostname% "docker rm %container%"
if %errorlevel% == 0 (
ssh -p %port% %hostname% "docker rmi %image%"
if %errorlevel% == 0 (
ssh -p %port% %hostname% "docker-compose -f %ymlfile% up -d"
if %errorlevel% == 0 (
ssh -p %port% %hostname% "rm -rf %projDir%/*"
)
)
)
) else (
ssh -p %port% %hostname% "docker-compose -f %ymlfile% up -d"
if %errorlevel% == 0 (
ssh -p %port% %hostname% "rm -rf %projDir%/*"
)
)
) else (
echo upload-error
)
) else (
echo publish-error
)
pause>nul
参考:
https://www.cnblogs.com/guardwhy/p/14906562.html
本文来自博客园,作者:{春光牛牛,yak},转载请注明原文链接:https://www.cnblogs.com/yakniu/p/16169550.html
欢迎各位大佬们评论指正
QQ讨论群:610129902
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?