金融量化学习---Python, MySQL, Pandas

这里用来记录一些在金融领域,尤其是银行相关的资金、债券、票据中应用到的数据管理与分析, 编程等心得或笔记,以及个人的一点小小兴趣(易经八卦、藏密禅修)等

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

Docker常用命令详解及速查

Docker原理图示



参考:https://cloud.tencent.com/developer/article/2393736

下载/上传镜像

Docker pull
要从Docker仓库中拉取现有的镜像,可以使用以下命令:

`docker pull [OPTIONS] NAME[:TAG|@DIGEST]`
• docker pull:拉取镜像的命令。
• [OPTIONS]:可选参数,用于配置拉取过程,如认证信息等。
• NAME[:TAG|@DIGEST]:要拉取的镜像名称、标签或摘要。

*Docker构建
要构建自己的Docker镜像,可以使用以下命令:

docker build [OPTIONS] PATH | URL | -docker build:构建镜像的命令。
• [OPTIONS]:可选参数,用于配置构建过程,如镜像标签、构建上下文路径等。
• PATH | URL | -Dockerfile所在的路径、URL或者使用标准输入作为Dockerfile

*Docker push
要将本地的镜像推送到Docker仓库,可以使用以下命令:

docker push [OPTIONS] NAME[:TAG]
• docker push:推送镜像的命令。
• [OPTIONS]:可选参数,用于配置推送过程,如认证信息等。
• NAME[:TAG]:要推送的镜像名称和标签。

建立容器

*Docker运行和参数配置
要在Docker中运行容器,可以使用以下命令:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
• docker run:运行容器的命令。
• [OPTIONS]:可选参数,用于配置容器的各种选项,如端口映射、容器名称等。
• IMAGE:要运行的镜像名称或ID。
• [COMMAND] [ARG...]:可选的命令和参数,用于在容器内执行特定的命令。

具体应用:
docker run [可选参数] image(镜像名):版本号(默认是最新版本,想要指定版本需要加上版本号!)
 
可选参数:
--name="name" 容器名字,通过一个镜像可以创建多个容器实例,命名可以区分不同的容器
-d  以后台的方式运行 (使用-d命令常见的坑:比如我们想启动以下Nginx服务,只让他在后台运行,但是没有前台的服务可以交互,那么系统就会默认把这个服务关掉!不提供服务!)
-it 使用交互方式运行,进入容器查看内容
-p  指定容器的端口
    有四种方式
        -p ip:主机端口:容器端口
        -p 主机端口:容器内部端口(常用,主机端口映射某个容器内部的端口号,访问主机的端口,即可访问容器)
        -p 容器端口
        容器端口
-P(大写)  随机指定端口
--rm  容器关闭后就被删除掉,一般用于测试!

如果是已经在运行的容器,可以用下面的命令进入:

docker exec   #进入容器后开启一个新的终端,可以在里面做一些操作(常用!)
docker attach #进入容器正在执行的终端,不会开启新的进程!


退出容器,退出到主机
(1)退出并停止容器,使用命令:exit
(2)退出但是不停止,Ctrl + P + Q

查看容器

  • Docker images
    要列出本地所有的镜像,可以使用以下命令:
docker images [OPTIONS] [REPOSITORY[:TAG]]
• docker images:列出镜像的命令。
• [OPTIONS]:可选参数,用于配置输出结果的格式等。
• [REPOSITORY[:TAG]]:可选的镜像名称和标签,用于过滤输出结果。

*Docker ps
要列出正在运行的容器,可以使用以下命令:

`docker ps [OPTIONS]`
• docker ps:列出容器的命令。
• [OPTIONS]:可选参数,用于配置输出结果的格式和过滤条件。

操作容器

*Docker start
要启动已停止的容器,可以使用以下命令:

`docker start [OPTIONS] CONTAINER [CONTAINER...]`
• docker start:启动容器的命令。
• [OPTIONS]:可选参数,用于配置启动过程,如守护模式等。
• CONTAINER [CONTAINER...]:要启动的容器名称或ID。

*Docker restart
要重启正在运行的容器,可以使用以下命令:

`docker restart [OPTIONS] CONTAINER [CONTAINER...]`
• docker restart:重启容器的命令。
• [OPTIONS]:可选参数,用于配置重启过程,如超时时间等。
• CONTAINER [CONTAINER...]:要重启的容器名称或ID。

*Docker exec
要在运行中的容器内执行命令,可以使用以下命令:

`docker exec [OPTIONS] CONTAINER COMMAND [ARG...]`
• docker exec:在容器内执行命令的命令。
• [OPTIONS]:可选参数,用于配置执行过程,如进入交互模式等。
• CONTAINER:要执行命令的容器名称或ID。
• COMMAND [ARG...]:要在容器内执行的命令及其参数。

*Docker logs
要查看容器的日志输出,可以使用以下命令:

`docker logs [OPTIONS] CONTAINER`
• docker logs:查看容器日志的命令。
• [OPTIONS]:可选参数,用于配置输出结果,如时间戳等。
• CONTAINER:要查看日志的容器名称或ID。

*Docker inspect
要获取容器或镜像的详细信息,可以使用以下命令:

`docker inspect [OPTIONS] NAME|ID [NAME|ID...]`
• docker inspect:获取详细信息的命令。
• [OPTIONS]:可选参数,用于配置输出结果的格式等。
• NAME|ID [NAME|ID...]:要获取信息的容器或镜像的名称或ID

*docker history 镜像ID

docker history 镜像ID
通过这个命令,我们可以查看到某个镜像暴露的端口号,以及追溯他们的构建过程,便于我们学习!

*Docker kill
要强制终止正在运行的容器,可以使用以下命令:

`docker kill [OPTIONS] CONTAINER [CONTAINER...]`
• docker kill:终止容器的命令。
• [OPTIONS]:可选参数,用于配置终止过程,如信号等。
• CONTAINER [CONTAINER...]:要终止的容器名称或ID。

*Docker rm/docker rmi
要删除已停止的容器或镜像,可以使用以下命令:

`docker rm [OPTIONS] CONTAINER [CONTAINER...]   docker rmi [OPTIONS] IMAGE [IMAGE...]`
• docker rm:删除容器的命令。
• docker rmi:删除镜像的命令。
• [OPTIONS]:可选参数,用于配置删除过程,如强制删除等。
• CONTAINER [CONTAINER...]:要删除的容器名称或ID。
• IMAGE [IMAGE...]:要删除的镜像名称或ID。

*docker cp
从容器中手动拷贝文件到主机
由于容器和宿主机是互相隔离的,容器中的文件和主机是不共享的,但是我们可以通过拷贝来实现文件的共用!
docker cp 容器ID:容器内文件路径 目的主机路径

命令总结:

docker images  #查看镜像


#从服务器拉取镜像拉取镜像
docker pull 镜像名       #拉取最新版本的镜像
docker pull 镜像名:tag   #拉取镜像,指定版本
#推送镜像到服务
docker push 镜像名
docker push 镜像名:tag


docker save -o 保存的目标文件名称 镜像名 #保存镜像为一个压缩包
docker load -i 文件名    #加载压缩包为镜像

#从Docker Hub查找/搜索镜像
docker search [options] TERM      
docker search -f STARS=9000 mysql  #搜索stars收藏数不小于10以上的mysql镜像

#删除镜像。当前镜像没有被任何容器使用 才可以删除
docker rmi 镜像名/镜像ID     #删除镜像 
docker rmi -f 镜像名/镜像ID  #强制删除
docker rmi -f 镜像名 镜像名 镜像名     #删除多个 其镜像ID或镜像用用空格隔开即可 
docker rmi -f $(docker images -aq)  #删除全部镜像,-a 意思为显示全部, -q 意思为只显示ID

docker image rm 镜像名称/镜像ID  #强制删除镜像


#给镜像打标签【有时候根据业务需求 需要对一个镜像进行分类或版本迭代操作,此时就需要给镜像打上标签】
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

docker ps      #显示正在运行的容器
docker ps -a   #-a,--all  显示全部容器,包括已停止的(默认只显示运行中的容器)

#容器怎么来? docker run 创建并运行一个容器,处于运行状态。
#--name 给要运行的容器起的名字;   -p 将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口;   -d 表示可后台运行容器 (守护式运行)。具体样例见下
docker run --name containerName -p 80:80 -d nginx   

docker pause 容器名/容器ID    #让一个运行的容器暂停
docker unpause name  #让一个容器从暂停状态恢复运行
docker stop name     #停止一个运行的容器(杀死进程、回收内存,仅剩文件系统)
docker start name    #让一个停止的容器再次运行
docker restart name  #重启容器
#docker stop与docker kill的区别:都可以终止运行中的docker容器。类似于linux中的kill和kill -9这两个命令,docker stop与kill相似,docker kill与kill -9类似
docker kill 容器名    #杀掉一个运行中的容器
docker rename 容器名 新容器名  #更换容器名

#删除容器
docker rm 容器名/容器ID            #删除容器  
docker rm -f CONTAINER           #强制删除
docker rm -f 容器名 容器名 容器名   #删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f $(docker ps -aq)    #删除全部容器


docker logs 容器名        #查看容器运行日志         
docker logs -f 容器名     #持续跟踪日志
docker logs -f --tail=20 容器名  #查看末尾多少行


#进入容器执行命令,两种方式 docker exec 和 docker attach,推荐docker exec
#方式一 docker exec。
docker exec -it 容器名/容器ID bash
#方式二 docker attach,推荐使用docker exec
docker attach 容器名/容器ID

#从容器退到自己服务器中(不能用ctrl+C)
exit      #直接退出。未添加-d(持久化运行容器)时,执行此参数 容器会被关闭
ctrl+p+q  #优雅退出。无论是否添加-d参数,执行此命令容器都不会被关闭

#设置容器开机自启动
#法一 创建容器、使用docker run命令时,添加参数--restart=always,表示该容器随docker服务启动而自动启动
docker run --name mysqlLatest -p 3307:3306 --restart=always -d mysql

#若容器已启动,希望设置开机自启动
docker update 容器名/容器ID --restart=always

详解: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]   

   
  -d, --detach=false         指定容器运行于前台还是后台,默认为false    
  -i, --interactive=false    打开STDIN,用于控制台交互   
  -t, --tty=false            分配tty设备,该可以支持终端登录,默认为false   
  -u, --user=""              指定容器的用户   
  -a, --attach=[]            登录容器(必须是以docker run -d启动的容器) 
  -w, --workdir=""           指定容器的工作目录  
  -c, --cpu-shares=0         设置容器CPU权重,在CPU共享场景使用   
  -e, --env=[]               指定环境变量,容器中可以使用该环境变量   
  -m, --memory=""            指定容器的内存上限   
  -P, --publish-all=false    指定容器暴露的端口   
  -p, --publish=[]           指定容器暴露的端口  
  -h, --hostname=""          指定容器的主机名   
  -v, --volume=[]            给容器挂载存储卷,挂载到容器的某个目录   
  --volumes-from=[]          给容器挂载其他容器上的卷,挂载到容器的某个目录 
  --cap-add=[]               添加权限,权限清单详见:http://linux.die.net/man/7/capabilities   
  --cap-drop=[]              删除权限,权限清单详见:http://linux.die.net/man/7/capabilities   
  --cidfile=""               运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法   
  --cpuset=""                设置容器可以使用哪些CPU,此参数可以用来容器独占CPU   
  --device=[]                添加主机设备给容器,相当于设备直通   
  --dns=[]                   指定容器的dns服务器   
  --dns-search=[]            指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件   
  --entrypoint=""            覆盖image的入口点   
  --env-file=[]              指定环境变量文件,文件格式为每行一个环境变量   
  --expose=[]                指定容器暴露的端口,即修改镜像的暴露端口   
  --link=[]                  指定容器间的关联,使用其他容器的IP、env等信息   
  --lxc-conf=[]              指定容器的配置文件,只有在指定--exec-driver=lxc时使用   
  --name=""                  指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字   
  --net="bridge"             容器网络设置: 
                                bridge 使用docker daemon指定的网桥      
                                host    //容器使用主机的网络   
                                container:NAME_or_ID  >//使用其他容器的网路,共享IP和PORT等网络资源   
                                none 容器使用自己的网络(类似--net=bridge),但是不进行配置  
  --privileged=false         指定容器是否为特权容器,特权容器拥有所有的capabilities   
  --restart="no"             指定容器停止后的重启策略: 
                                no:容器退出时不重启   
                                on-failure:容器故障退出(返回值非零)时重启  
                                always:容器退出时总是重启   
  --rm=false                 指定容器停止后自动删除容器(不支持以docker run -d启动的容器)   
  --sig-proxy=true           设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理  

参考:https://blog.csdn.net/weixin_49329814/article/details/108547290

posted on   chengjon  阅读(171)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示