当前位置:   article > 正文

Docker 命令_docker run -itd

docker run -itd

Docker Documentation  官方文档【推荐】
Docker 命令大全 | 菜鸟教程
Docker Hub 镜像仓库
Docker Command 命令 官网
Docker service 官网
Docker node 官网
Docker compose 官网

镜像常用命令 docker image | Docker Docs 
● docker search:搜索镜像
● docker pull:下载镜像
● docker push:上传镜像
● docker images:查看本地镜像
● docker inspect:获取镜像详细信息
● docker build:从Dockerfile构建镜像
● docker history:查看指定镜像的创建历史
● docker tag:添加镜像标签
● docker rmi:删除镜像
● docker save:导出镜像
● docker load:导入镜像

容器常用命令 docker container | Docker Docs 
● docker ps:查询容器运行状态
● docker create:创建容器
● docker start:启动容器
● docker stop:停止容器
● docker rm:删除容器
● docker run:创建并启动容器
● docker inspect:查看容器ip地址
● docker exec:进入容器
● docker stop:终止容器运行
● docker logs:查看容器日志 
● docker export:容器导出
● docker import:容器导入
● docker cp:宿主机文件与容器文件复制
● docker stats:查看docker消耗的资源状态 

Docker 三剑客是指 docker-machine、docker-compose 和 docker-swarm

Kubernetes,别名也叫 K8s(因为 K 和 s 中有 8 个字符)是一个旨在自动化容器化应用的部署、扩展和管理
● 宿主机资源监测和管理
● 应用自动水平/垂直扩缩容以及回滚
● 应用健康检查和自愈
● 服务发现
● 集群内/外负载均衡
● 失效转移
● 流量自适应




*、查看 docker 版本

  1. # 显示 Docker 系统信息,包括镜像和容器数
  2. docker info
  3. # 查看版本
  4. docker version
  5. docker -v
  6. # 将当前 user 加入 docker 的用户组,以后可以不使用 sudo
  7. sudo usermod -aG docker $USER
  8. sudo gpasswd -a ${USER} docker
  9. # 更新用户组,刷新 docker 成员
  10. newgrp docker
  11. # 帮助
  12. docker --help
  13. # 查找 Docker-CE 的版本列表
  14. yum list docker-ce.x86_64 --showduplicates | sort -r

*、启动、重启、停止、杀死 docker 服务

  1. # CentOS 7.x
  2. # 查看 docker 服务状态
  3. sudo systemctl status docker
  4. # 启动 docker 服务
  5. sudo systemctl start docker
  6. # 重启 docker 服务
  7. sudo systemctl restart docker
  8. # 关闭 docker 服务
  9. sudo systemctl stop docker
  10. # 重新加载某个服务的配置文件
  11. sudo systemctl daemon-reload
  12. # CentOS 6.x 服务状态、启动、重启、停止
  13. sudo service docker status
  14. sudo service docker start
  15. sudo service docker restart
  16. sudo service docker stop

*、镜像仓库

  1. # 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
  2. docker login [OPTIONS] [SERVER]
  3. docker login -u 用户名 -p 密码
  4. # 从镜像仓库中拉取或者更新指定镜像
  5. docker pull
  6. docker pull java
  7. # 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库
  8. docker push
  9. docker push myapache:v1
  10. # 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
  11. docker logout [OPTIONS] [SERVER]
  12. docker logout -u 用户名 -p 密码
  13. # 从Docker Hub查找镜像
  14. docker search
  15. docker search nginx

#查看所有镜像

  1. docker images
  2. # 命令语法
  3. docker images [OPTIONS]
  4. OPTIONS 参数说明:
  5. ● -a:列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
  6. ● --digests:显示镜像的摘要信息;
  7. ● -f:显示满足条件的镜像;
  8. ● --format:指定返回值的模板文件;
  9. ● --no-trunc:显示完整的镜像信息,不截断输出;
  10. ● -q:只显示镜像ID;

#进入镜像 docker exec | Docker Docs 

 dokcer exec -it 镜像名称 bash

#删除镜像【删除镜像前,必须先删除以此镜像为基础的容器】 docker rmi | Docker Docs 

  1. #删除一个imageid的镜像【删除镜像前,必须先删除以此镜像为基础的容器】
  2. docker rmi [IMAE_ID] 
  3. docker rmi <镜像-name>/<镜像-id>
  4. docker rmi hello-world
  5. # 子命令如下:
  6. -f, -force: 强制删除镜像,即便有容器引用该镜像;
  7. -no-prune: 不要删除未带标签的父镜像;
  8. # 删除所有镜像【删除镜像前,必须先删除以此镜像为基础的容器】
  9. docker rmi -f $(docker images -q)
  10. docker rmi -f $(docker images -qa)
  11. docker rmi $(docker images –qa)
  12. docker rmi $(docker images -q) 
  13. # 删除所有镜像名为redis的镜像
  14. docker rmi $(docker images –q redis)
  15. # 删除名称中包含某个字符串的镜像
  16. # 例如删除包含“some”的镜像
  17. docker rmi --force $(docker images | grep some | awk '{print $3}')

# 从镜像仓库中拉取或者更新指定镜像,载入 ubuntu 镜像【下载镜像】

  1. # 从镜像仓库中拉取或者更新指定镜像
  2. docker pull ubuntu
  3. docker pull nginx:latest
  4. docker pull redis:latest
  5. docker pull mongo:latest
  6. docker pull mysql:latest
  7. docker pull rabbitmq:management
  8. docker pull wurstmeister/zookeeper
  9. docker pull wurstmeister/kafka

#有了Dockerfile之后,可以用build命令构建镜像【编译一个镜像出来】【注意最后的“.”】

  1. docker build -t getting-started .
  2. docker build -t v0210 .
  3. docker build -t netcore3.1v0210 .
  4. docker build -t net5v0210 -f Dockerfile .
  5. docker build -t netcore3.1v0210 -f Dockerfile .

# 查看所有容器运行状态 docker ps | Docker Docs 

  1. # 查看运行中的容器
  2. docker ps
  3. # 查看所有容器,包括未运行的
  4. docker ps -a    
  5. docker container ls -all
  6. # 命令语法
  7. docker ps [OPTIONS]
  8. OPTIONS 参数说明:
  9. ● -a:显示所有的容器,包括未运行的。
  10. ● -f:根据条件过滤显示的内容。
  11. ● --format:指定返回值的模板文件。
  12. ● -l:显示最近创建的容器。
  13. ● -n:列出最近创建的n个容器。
  14. ● --no-trunc:不截断输出。
  15. ● -q:静默模式,只显示容器编号。
  16. ● -s:显示总的文件大小。

# create 创建容器,不会立即启动运行 docker create | Docker Docs 

  1. # 方法1:创建容器,在 counter-image 镜像上创建容器
  2. sudo docker create --name core-counter counter-image 0f281cb3af994fba5d962cc7d482828484ea14ead6bfe386a35e5088c0058851
  3. # 方法2:创建容器,使用docker镜像hello-world创建一个容器,容器名是test1
  4. sudo docker create --name test1 hello-world
  5. # 方法3:创建容器,使用docker镜像nginx:latest创建一个容器,并将容器命名为myrunoob
  6. sudo docker create --name myrunoob nginx
  7. sudo docker create --name myrunoob nginx:latest
  8. # 方法4:Step 1 : 一个镜像创建多个容器
  9. # 创建镜像名称为zhenlei1970/testdockernew的容器,容器名称为testdocker1,testdocker2
  10. sudo docker create --name testdocker1 -p 5000:80 zhenlei1970/testdockernew
  11. sudo docker create --name testdocker2 -p 5002:80 zhenlei1970/testdockernew
  12. # 方法4:Step 2 : 启动方法
  13. sudo docker start -a testdocker1
  14. sudo docker start -a testdocker2

# run 创建并启动容器 docker run | Docker Docs 

  1. # 方法1:运行创建一个 nginx 容器
  2. docker run --name myNginx-p 80:80 -d nginx
  3. # 命令解释
  4. # docker run : 创建并运行一个容器
  5. # –name : 给容器起一个名字, 比如叫做 myNginx
  6. # -p : 将宿主机端口与容器端口映射, 冒号左侧是宿主机端口, 右侧是docker容器端口
  7. # -d : 后台运行容器
  8. # nginx : 镜像名称 , 例如nginx

#启动容器(运行容器)、重启容器、停止容器、强制停止

  1. #启动容器
  2. docker start <container-name>/<container-id>
  3. docker start b750bbbcfd88
  4. #重启容器
  5. docker restart <容器 ID>
  6. #停止容器
  7. docker stop <container-name>/<container-id>
  8. docker stop <容器 ID>
  9. #强制停止容器,杀掉一个或者多个正在运行的 Docker容器。该命令后面的 CONTAINER 可以是容器Id,或者是容器名。
  10. docker kill <container-name>/<container-id>

#启动容器(所有容器)

  1. # 启动所有容器
  2. docker start $(docker ps -a -q)
  3. docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
  4. # 停止所有容器
  5. docker stop $(docker ps -a -q)
  6. docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
  7. # 删除所有容器
  8. docker rm $(docker ps -a -q)
  9. docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
  10. # 删除所有的镜像
  11. docker rmi $(docker images | awk '{print $3}' |tail -n +2)
  12. # 查看完整containerId
  13. docker ps --no-trunc

#发布

docker push YOUR-USER-NAME/getting-started

#Docker run 命令参数 OPTIONS说明

  1. OPTIONS 参数说明:
  2. -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  3. -d: 后台运行容器,并返回容器ID;
  4. -i: 以交互模式运行容器,通常与 -t 同时使用;
  5. -P: 随机端口映射,容器内部端口随机映射到主机的端口
  6. -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  7. -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  8. --name="nginx-lb": 为容器指定一个名称;
  9. --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  10. --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  11. -h "mars": 指定容器的hostname;
  12. -e username="ritchie": 设置环境变量;
  13. --env-file=[]: 从指定文件读入环境变量;
  14. --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
  15. -m :设置容器使用内存最大值;
  16. --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  17. --link=[]: 添加链接到另一个容器;
  18. --expose=[]: 开放一个端口或一组端口;
  19. --volume , -v: 绑定一个卷

Docker run 启动容器、启动推送的应用程序

  1. # 创建一个新的容器并运行一个命令
  2. docker run
  3. docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  4. #
  5. docker run hello-world
  6. #
  7. docker run --name=<容器名称>  -d<后台运行> -p <外部暴露端口>:<容器端口> <关联镜像>
  8. docker run --name=container1 -d -p 8076:80 v0210
  9. docker run -d -p 8077:80 v0210
  10. docker run -d -p 8078:80 v0210
  11. docker run -it -p 8079:80 v0210
  12. docker run -itd -p 8082:80 netcore3.1v0210
  13. docker run -dp 3000:3000 YOUR-USER-NAME/getting-started
  14. docker run -i -t ubuntu /bin/bash
  15. docker run -it ubuntu ls /
  16. docker run -it -p 4000:4000 docs/docker.github.io:v1.9
  17. docker run -ti -p 4000:4000 
  18. docker run -itd --name ubuntu-test ubuntu /bin/bash

#启动redis

docker run -p 6379:6379 -d redis:latest redis-server

#启动rabbitmq

  1. #启动rabbitmq方式一:默认guest 用户,密码也是 guest
  2. docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management
  3. #启动rabbitmq方式二:设置用户名和密码
  4. docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:management

#启动zookeeper、kafka

  1. #启动zookeeper
  2. docker run -d --name zookeeper -p 2181 -t wurstmeister/zookeeper
  3. #启动kafka
  4. docker run --name kafka -e HOST_IP=localhost -e KAFKA_ADVERTISED_PORT=9092 -e KAFKA_BROKER_ID=1 -e ZK=zk -p 9092 --link zookeeper:zk -t wurstmeister/kafka

#设置启动策略

docker run --restart always -it -p 8079:8079 v0210

#容器退出

  1. # 容器退出、停止
  2. exit
  3. # 容器退出、停止
  4. Ctrl + D
  5. # 正常退出,不关闭容器
  6. Ctrl + P + Q

#进入容器,再退出,不会导致容器停止,容器继续运行 docker exec | Docker Docs 

  1. docker exec -it <容器名称>/<容器id> bash
  2. docker exec -it <容器名称>/<容器id> /bin/bash
  3. docker exec -it <container-name>/<container-id> /bin/bash
  4. docker exec -it <mysql-container-id> mysql -p
  5. docker exec <container-id> cat /data.txt

#进入容器,再退出,会导致容器停止,容器结束运行 docker attach | Docker Docs 

  1. docker attach <container-name>/<container-id>
  2. docker attach 1e560fca3906

#删除容器【删除容器时,容器必须是停止状态】 docker rm | Docker Docs 

  1. # 删除一个containerid的容器(实例)【删除容器时,容器必须是停止状态】
  2. docker rm <container-name>/<container-id>
  3. docker rm -f <id>
  4. docker rm -f 1e560fca3906
  5. docker rm wizardly_chandrasekhar
  6. # 删除所有容器【删除容器时,容器必须是停止状态】
  7. docker rm $(docker ps -aq)
  8. # 停止所有的容器container
  9. docker stop $(docker ps -a -q)
  10. #首先停用所有容器,然后删除所有容器
  11. docker stop $(docker ps -q) & docker rm $(docker ps -aq)

#容器命令 docker container | Docker Docs 
● 容器创建 docker container create | Docker Docs 
● 容器启动 docker container start | Docker Docs 
● 容器停止 docker container stop | Docker Docs 
● 容器杀死 docker container kill | Docker Docs 
● 容器重启 docker container restart | Docker Docs 
● 容器运行 docker container run | Docker Docs 
● 容器删除 docker container rm | Docker Docs 
● 容器阻止 docker container wait | Docker Docs 
● 容器日志 docker container logs | Docker Docs 
● 容器列表 docker container ls | Docker Docs 
● 清理掉所有处于终止状态的容器 docker container prune | Docker Docs 

  1. # 命令语法
  2. docker container prune [OPTIONS]
  3. # OPTIONS 参数说明:
  4. ● --filter:提供筛选值(例如,直到=<timestamp>)
  5. ● --force:-f【缩写】不提示确认
  6. # 实例
  7. docker container prune --force --filter "until=5m"
  8. docker container prune --force --filter "until=2017-01-04T13:10:00"

#为图像赋予一个新名称

docker tag getting-started YOUR-USER-NAME/getting-started

#查看日志 docker logs | Docker Docs 

docker logs -f <container-id>

#

  1. docker command --help
  2. docker stats --help

#实现对 Docker 容器集群的快速编排 docker compose | Docker Docs 

  1. docker-compose version
  2. docker-compose up -d

#安全扫描

docker scan getting-started

#显示镜像的历史 docker history | Docker Docs 

  1. docker image history getting-started
  2. docker image history --no-trunc getting-started

参数说明:

  1. -d:让容器在后台运行。
  2. -i:交互式操作。
  3. -t:终端。
  4. ubuntu:15.10: 这是指用 ubuntu 15.10 版本镜像为基础来启动容器。
  5. /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
  6. -P:随机端口映射【将容器内部使用的网络端口随机映射到我们使用的主机上】
  7. -p:指定端口映射,有四种格式 [ip:hostPort:containerPort; ip::containerPort; hostPort:containerPort; containerPort]
  8. -p:暴露端口 <暴露端口>:<容器端口> 8080:80 映射本地端口8080到容器80端口

*、docker events 从服务器获取实时事件,打印出实时的系统事件,实时输出 Docker 服务器端的事件,包括容器的创建、启动、关闭等。docker events | Docker Docs 

  1. # 命令语法
  2. docker events [OPTIONS]
  3. # Options 参数说明:
  4. ● Option Short Description
  5. ● --filter -f Filter output based on conditions provided
  6. ● --format Format the output using the given Go template
  7. ● --since Show all events created since timestamp
  8. ● --until Stream events until this timestamp
  9. # 根据条件过滤事件
  10. docker events -f
  11. # 从指定的时间戳后显示所有事件
  12. docker events --since
  13. # 流水时间显示到指定的时间为止
  14. docker events --until

*、更改镜像源,镜像加速
国内镜像源
Docker 官方中国区:https://registry.docker-cn.com
网易:http://hub-mirror.c.163.com
中国科技大学:https://docker.mirrors.ustc.edu.cn
阿里云:https://y0qd3iq.mirror.aliyuncs.com
              https://{your_id}.mirror.aliyuncs.com
daocloud:http://{your_id}.m.daocloud.io

  1. # 创建文件夹
  2. mkdir -p /etc/docker
  3. # 创建、编辑文件
  4. touch /etc/docker/daemon.json
  5. vim /etc/docker/daemon.json
  6. #加入以下内容,并保存 ESC -> : -> wq!
  7. {
  8. "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
  9. }
  10. # 重新加载配置文件
  11. systemctl daemon-reload
  12. # 重启Docker服务
  13. systemctl restart docker.service
  14. systemctl restart docker
  15. # 查看配置是否生效
  16. docker info|grep Mirrors -A 1

*
*
*

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/990808
推荐阅读
相关标签
  

闽ICP备14008679号