Docker常用命令以及asp.net core 程序如何发布到docker中

Docker中文手册:
https://vuepress.mirror.docker-practice.com/
查看Docker远程仓库:不需要登录,直接搜软件名称即可。
可以查看都提供了哪些镜像,尽量使用官方镜像
https://hub.docker.com/

相关文章:
http://www.ityouknow.com/docker/2018/03/07/docker-introduction.html
Centos8下的docker常用命令操作:
查看docker服务状态:
systemctl status docker.service
重启docker:
sudo systemctl restart docker
查看docker版本:
docker version
查看docker信息:
docker info
查看帮助:
docker --help


Docker中的镜像操作:

查看本机中所有镜像
docker images
docker images -a 
docker image ls
查看指定的镜像
docker images 镜像名称
只查看镜像的Id:
docker images 镜像名称 -q
下载镜像:
docker pull 镜像名称(选择你想安装的版本)
如果不加版本号:
docker pull 镜像名称:latest

eg:
拉取最新版本的镜像:
docker pull redis ---> docker pull redis:latest
拉取指定版本的镜像:(去Docker Hub上查看下都支持哪些版本的镜像)
docker pull redis:7.0.3
docker pull redis:6.2

搜素镜像:
docker search 镜像名称

删除镜像:
正常删除:docker image rm 镜像名称/镜像ID
强制删除:docker image rm -f 镜像名称/镜像ID

批量删除镜像:
docker image rm -f $(docker images 镜像名称  -q )


Docker中的容器操作:

1.查看正在运行的容器
docker ps
2.查看所有容器(running以及stopped状态的)
docker ps -a
3.运行一个镜像构建一个容器(服务):
(设置容器与宿主机端口的映射关系)
运行容器,进行端口映射,后台启动该服务(以守护进程的方式) -d

docker run -d -p 宿主机端口:容器内服务端口  --name 容器名称 镜像名称

4.开启容器:
docker start 容器名称或者容器Id
5.重启容器:
docker restart 容器名称或者容器Id
6.正常停止容器:
docker stop 容器名称或者容器Id
7.立即停止容器:
docker kill 容器名称或者容器Id

8.删除容器:
删除停止的容器:
docker rm 容器名称|容器Id
删除正在运行的容器:
docker rm -f 容器名称|容器Id
删除所有容器:
docker rm -f $(docker ps -aq)

9.查看容器内服务运行日志:
docker logs 容器名称|容器Id
docker logs -f 容器名称|容器Id ---> 实时监控容器内服务的日志

docker logs --tail N()

10.进入容器内部:相当于进入了一个精简版的操作系统
(比如docker安装在Centos上,就可以以操作系统的方式进行操作了)
进入容器,并与容器内命令终端进行交互
docker exec -it 容器名称|容器Id bash 
docker run -it 容器名称|容器Id 
10.退出容器:exit
11.操作系统与容器之间的文件传输:

  从容器复制文件到操作系统:
  docker cp 容器唯一标识:(容器Id|容器名称) 容器内资源路径  操作系统文件路径/文件目录
  
  
  从操作系统复制文件到容器内部:
  docker cp  操作系统文件路径/文件目录 容器唯一标识:(容器Id|容器名称) 容器内资源路径  
  
 12 查看容器内部细节:
  docker inspect 容器Id|容器名称
  
 13 将容器打包成镜像:
 
 Docker中容器之间网络配置:
 
    Docker 允许通过外部访问容器或者容器互联的方式提供网络服务
    
 14.Docker中网络使用:
 一般在使用    docker网桥(bridge)实现容器与容器的通信时,都是站在一个应用的角度进行容器通信
   docker network --help 查看network命令帮助
   
   1.查看docker网桥配置:
     docker network ls
 
   2.创建自定义网桥:
     简单写法:
     docker  network create  bridgeName
     复杂写法:
     docker network create  -d bridge bridgeName
     
     在创建容器时,指定自定义的网桥:
     启动容器时,明确指定容器使用哪个网络
     docker run -d -p 宿主机端口:容器内服务端口 --network 自定义网桥名称  --name 容器名称 镜像名称
     eg:
     
docker run -d --name kafka04 --network walmart  -p 9095:9095 -e KAFKA_BROKER_ID=3 -e KAFKA_ZOOKEEPER_CONNECT=IP地址:2181 -e ALLOW_PLAINTEXT_LISTENER=yes -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://IP地址:9095 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9095 -t bitnami/kafka
     
    
     3.查看某个网络细节:
     docker network inspect 网络名称
     
     
     
15.Dockerfile 文件的使用
官网文档:
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
定义:用来帮助我们自己构建一个自定义镜像
Dockerfile : 镜像构建文件
注意:Dockerfile文件中,如果有n条run指令,前n-1次run生成的都是临时镜像,
而且每run一次都是基于上一次的临时镜像创建新的临时镜像,最后一次run才是最终的
镜像。
  
     Dockerfile的保留命令:全部大写
        
        FROM:指定基础镜像
        RUN:构建镜像时需要运行的指令
        EXPOSE:当前容器对外暴露出的端口号
        WORKDIR:指定在创建容器后,终端默认登录进来的工作目录,一个落脚点
        ENV:用来在构建镜像过程中设置环境变量
        ADD:将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar包
        COPY:类似于ADD,拷贝文件和目录到镜像中,将从构建上下文目录中<原路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置
        CMD:指定一个容器启动时要运行的命令,Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换
        ENTRYPOINT:    指定一个容器启动时要运行的命令,ENTRYPOINT的目的和CMD一样,都是在指定容器启动程序及其参数
        
        
        
        
将asp.net core 程序发布到docker:


https://docs.docker.com/samples/dotnetcore/
https://www.pluralsight.com/blog/software-development/how-to-build-custom-containers-docker
https://www.cnblogs.com/aixinjueluo/articles/13476625.html
https://www.c-sharpcorner.com/article/build-and-deploy-asp-net-webapi-using-docker/
https://www.compilemode.com/2021/05/how-to-deploy-asp-net-core-application-on-docker-linux-container.html
https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/docker/building-net-docker-images?view=aspnetcore-6.0


https://www.pluralsight.com/blog/software-development/how-to-build-custom-containers-docker?exp=1


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值