Docker的使用

Build镜像

#例:docker build -t kka:v1 .
-t:#为构建的镜像打上标签[tag]
. : #当前目录的Dockerfile进行编译镜像
kk : #自定义镜像名
v1 : #版本

启动容器

#例:
docker run --name rongqi1 -p 1080:8080 -d myjinxiang:v1(启动后会有一串hash,就是容器唯一ID)


docker run : #创建并运行一个容器
–name : #给容器起一个名字 [容器名称], 比如叫做 rongqi
-p : #将宿主机端口与容器端口映射, 冒号左侧是宿主机(服务器)端口, 右侧是docker容器端口(docker暴露的端口)
-d : #后台运行容器
nginx : #[镜像名称] , 例如myjinxiang:v1
docker run是启动容器命令;
-d代表后台运行;
-P代表端口自动帮我们绑定;
--name tomcat代表将启动的容器命名为tomcat;

docker run  -p 1080:80  kka:v1

创建使用指定卷的容器

docker run -d -it --name=rongqitwo  -p 8800:80 -v edc-kk-vol:/usr/share/kkdir_3  demo:v1

#docker run -d -it --name=rongqitwo  -p 8800:80 -v /宿主机绝对路径目录:/容器内目录    镜像名

#使用挂载卷 【避免我们在容器停止删除后里面的数据文件被删除。 当把容器删除时,再次执行相同的命令之前容器存在的数据会再次恢复回来。】


介绍:https://blog.csdn.net/weixin_42620326/article/details/125324192
#-v代表挂载数据卷,这里使用自定数据卷edckk_vol,并且将数据卷挂载到 /usr/share/kkdir  

#如果没有通过-v指定,那么Docker会默认帮我们创建匿名数据卷进行映射和挂载。

停止

docker stop <容器 ID>  

docker stop 10030ff61fc3

dockers rml 删除镜像

[root@hsStudy ~]# docker rmi -f 镜像id #删除指定的镜像
[root@hsStudy ~]# docker rmi -f 镜像id 容器id 容器id #删除多个指定的镜像
[root@hsStudy ~]# docker rmi -f $(docker images -aq) # 删除全部镜像

docker image rm -f $(docker images -f dangling=true -q)   #删除镜像为<none>的

Docker进入容器查看容器中的文件

docker exec -it [容器Id] bash


Ctrl + D  #退出容器目录
docker run -it --name demo_docker busybox /bin/sh

#这条命令的意思是:启动一个 busybox 镜像的 Docker 容器,-it 参数表示给容器提供一个输出 / 输出的交互环境,也就是 TTY。/bin/sh 表示容器交互运行的命令或者程序。
#容器的启动/停止命令:

docker start API8082(容器名称/ID)

docker stop API8082(容器名称/ID)

10.如果代码更新了,怎么办

(1)将更新好的代码上传

(2)重新build镜像

(3)停止docker容器

(4)删除docker容器 docker rm 容器名称/ID

(5)重新创建容器并启动 docker run --name API8082 -p 8081:5000 my1api
#列出所有正在在运行的容器信息:
docker ps
#列出所有的容器信息:
docker ps -a

Docker 生成的镜像推送到远程仓库

1、 #登录仓库
  Dokcer login  [远程仓库地址]    #例  docker login reg.hex.com
2、 #推送镜像

	#使用该docker tag命令为 镜像 指定一个新名称
	docker tag 本地镜像 [dockerHub仓库地址]:tagName
	docker push [dockerHub仓库地址]:tagName    
	#例 docker tag kka:v1 reg.hex.com/domain/kka:v1
	# docker push  reg.hex.com/domain/kka:v1

Docker 远程仓库拉取镜像到本地

 docker pull [dockerHub仓库地址]:tagName         #例  docker pull reg.hex.com/demo/ppp:v1
docker run -d --name myrongqi8 -p 10002:10020  hte:v1   dotnet HTEWebApiServer.dll  --webApiServiceAddress http://0.0.0.0:10020  --serviceName htewebapiserver     --zkConfigServer w1.confandsa.zk.group.hex.com:2181,w2.confandsa.zk.group.hex.com:2181,w3.confandsa.zk.group.hex.com:2181   --zkAppRole Group-HTEWebApi --runScope Core991         --msGroup edudev --webApiHelp on   --zkTimeOut 1000000000 --mcTimeOut 1000000000 --trace off    --KPversion  2 --ser protobuf --psapp v8

使用K8s分流

ktctl mesh htewebapiserver  --expose 10020:31011  #左边是本地项目端口,右侧为远程服务端口

docker 命令手册:https://www.kancloud.cn/woshigrey/docker/935037

参考:https://www.cnblogs.com/TianFang/p/16462183.html

posted @   蛋蛋十二月  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示