docker创建镜像、单个容器、swarm集群启动、更新服务等常用指令

一、 创建镜像:
1) docker build --build-arg DB_PUBKEY=$DB_PUBKEY -t rc--image-zhuweikang:centos . 
docker build -t rc--image-zhuweikang:centos . 
--build-arg DB_PUBKEY=$DB_PUBKEY:增加环境变量
依赖Dockerfile文件

查镜像: docker image ls|grep mifen
docker image ls mifen
删除镜像: docker rmi 镜像名:tag
查容器:docker ps|grep mifen 查看运行的容器; docker ps|grep mifen|wc -l 记录总的数量
docker ps -a 查看所有容器;
删除容器:docker rm 容器ID/容器name
批量停止容器: docker stop $(docker ps -a -q) // stop停止所有容器
批量删除容器: docker rm $(docker ps -a -q) // remove删除所有容器
docker ps -a -q 查看所有容器ID
2) docker tag :  标记本地镜像,将其归入某一仓库
docker tag mifen-service:19-debug localhost:5000/mifen-serivce:19-debug
3) 上传镜像
docker push localhost:5000/mifen-serivce:19-debug
4)拉取镜像
docker pull 10.251.261.11:5000/mifen-serivce:19-debug
二、 集群或单例启动服务
1)docker stack deploy -c docker-compose.yml mifen
docker stack rm rc-xurui
docker stack ps rc-xurui
2)docker-compose -f ./docker-compose.yml up -d
3) docker run -p 80:80 -v /data:/data -d nginx:latest
使用镜像nginx:latest以 后台模式 启动一个容器,将容器的80 端口映射 到主机的80端口,主机的 目录/data映射 到容器的/data。返回容器ID.
docker run -it nginx:latest /bin/bash
使用镜像nginx:latest以 交互模式启动 一个容器,在容器内执行/bin/bash命令。
--rm 容器停止后删除容器
--name 指定容器的名称
4)更新service服务
docker service update --detach=false --image 10.251.26.11:5000/ic-service:2 ic-auth_ic_service
docker service update —env-add DB_PUBKEY=$DB_PUBKEY —detach=false —image 10.251.26.11:5000/ic_service_test:4 ic_test_ic_service_test
【--detach=false】:显示后台update进度
5)修改集群实例个数:
docker service scale m1s9dtbq3le0=20 rlhy27hwazey=40

6)查看容器日志

    docker logs container_name

三、 docker swarm 常用命令
docker swarm init 初始化集群
docker swarm join-token worker 查看工作节点的 token
docker swarm join-token manager 查看管理节点的 token
docker swarm join 加入集群中
docker swarm leave --force 离开集群 。 ( 主动离开
四、 docker node 常用命令
docker node ls 查看所有集群节点
docker node ps 查看所有节点的task任务
docker node rm 删除某个节点( -f 强制删除)( 被动删除 )
docker node demote nodeId1 nodeId2 节点降级,manager将降为 worker
docker node promote nodeId1 nodeId2 节点升级,由工作节点升级为管理节点,worker---->manager
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker Swarm是Docker的原生集群管理工具,可以用于在多个主机上运行和管理容器Dockerfile是一种用于定义Docker镜像构建过程的文本文件。 使用Docker Swarm时,可以使用Dockerfile创建镜像,但其实创建镜像的过程与在单个主机上创建镜像的过程非常相似。主要的区别是,在Swarm中创建镜像将会在整个集群中被使用,而非仅限于单个主机。 首先,在Swarm集群的主节点上创建一个Dockerfile,该文件包含了构建镜像指令和配置。以一个简单的Node.js应用为例,可以定义如下的Dockerfile: ``` FROM node:14-alpine WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD [ "npm", "start" ] ``` 然后,在主节点的终端中,使用`docker build`命令来构建镜像。例如,使用以下命令创建一个名为`my-app`的镜像: ``` docker build -t my-app . ``` 接下来,使用`docker push`命令将构建好的镜像推送到Docker镜像仓库。例如,可以推送到Docker Hub: ``` docker push username/my-app ``` 最后,在Swarm集群的其他节点上使用`docker service`命令来创建服务,并使用先前构建的镜像作为服务的副本。例如,使用以下命令创建一个名为`my-app`的服务: ``` docker service create --name my-app --replicas 3 username/my-app ``` 这将在集群的多个节点上运行三个容器的副本,以提供高可用性和负载均衡的服务。 通过以上步骤,我们可以使用Dockerfile在Docker Swarm集群创建镜像,并在集群中运行多个容器的副本来提供服务。这种方式使得应用程序可以更加灵活地在集群中运行,并可以根据需要进行扩展和管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值