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