docker使用速成心得
类别:信息技术
作者:ATScore
发布日期:2023年12月3日
docker使用速成
- 加速docker pull
- 查询下载镜像
- 查询本地仓库都有哪些镜像
- 运行
- 查询正在运行的容器
- 停止、启动
- 进入容器
- 进入镜像
- 打包镜像
- 导出镜像save
- 导入镜像load
- 导出容器export
- 导入容器import
- 删除镜像
docker镜像站加速docker pull
vi /etc/docker/daemon.json
#添加以下内容
{
"registry-mirrors": [
"https://ung2thfc.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}
查询下载镜像
docker search memos
输出以下
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
elestio/memos Memos, verified and packaged by Elestio 10
neosmemo/memos A privacy-first, lightweight note-taking ser… 124
memost/play-framework1.3 0
hu3rror/memos-fly 0
iotexpert/memos 0
pirtes/memos 0
eallion/memos neosmemo/memos backup 0
xiaomizzzz/memos 0
raisinbear/memos-unofficial-arm 1
memosiki/cheers2019 0
hu3rror/memos-litestream 0
rabithua/memos 0
zhaoweiping/memos-proxy connect wechat 公众号 to neosmemo/memos 0
下载镜像
docker pull neosmemo/memos:latest
查询本地仓库都有哪些镜像
docker images
#或者
docker image ls
运行
docker run -d \
-p 8080:80 #端口印射
-v /home/docker/memos:/data #目录印射
--name memos #名称
--restart always #重启策略
neosmemo/memos:latest #使用哪个镜像
#镜像名称后面就是运行容器的启动命令了,所以镜像名字写在最后
最简单的运行命令
docker -d run neosmemo/memos:latest
查询正在运行的容器
docker ps -a
#或者
docker ps -a | grep memos
停止、启动
#需要先用上面的命令查到id
docker stop 18a9a9082331
docker start 18a9a9082331
进入容器
有时需要进入容器看看情况
docker exec -it 18a9a9082331 /bin/bash
#或者,主要是看容器内的shell解释器是什么
docker exec -it 18a9a9082331 /bin/sh
进入镜像
有时容器一直报错,要进镜像看看是什么情况
#本质还是启动临时容器
docker exec -it neosmemo/memos:latest /bin/bash
打包镜像
有时需要把镜像里的数据打包
docker commit 18a9a9082331 me/name:tag
这会在本地生成一个新的镜像 要注意,commit是不会带走volume里的东西 比如你commit technosoft2008/calibre-web,books目录是不会打包的
导出镜像save
将保存的镜像导出成tar包,save是带环境变量,带entrypoint,带历史,带CMD的。缺点是体积大
docker save me/name:tag > name.tar
导入镜像load
docker load < name.tar
要注意,导入镜像是不能修改镜像名字的 导入的镜像要与save配套使用
导出镜像export
有时只需要导出第一个layer,其实就是快照的意思,没历史
docker export 18a9a9082331 > name.tar
导入镜像import
导入的镜像要与export配套使用
docker import name.tar me/name:tag
可以重命名。 export和import我用的比较少,可能有写错,自己注意尝试一下。
删除镜像
docker image rm me/name:tag