Akiraka Akiraka
  • 首页
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • 大数据
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • 微服务
    • Kubernetes
    • Helm
  • Other
  • Quark
  • 首页
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • 大数据
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • 微服务
    • Kubernetes
    • Helm
  • Other
  • Quark
首页 › Linux › Docker › Docker 常用命令

Docker 常用命令

Akiraka12月前

文章目录

  • 常用命令
    • docker ps
    • docker cp
    • docker rm
    • docker tag
    • docker rmi
    • docker run
    • docker pull
    • docker logs
    • docker exec
    • docker save
    • docker load
    • docker push
    • docker stop
    • docker start
    • docker build
    • docker login
    • docker logout
    • docker images
    • docker network

常用命令

docker ps

  • docker ps 命令查看当前运行中容器
  • docker ps -a 命令查看已启动容器,包括创建未运行及已停止运行容器
  • 从左到右依次为:容器ID、镜像、启动命令、容器创建时间、容器运行状态、端口映射关系、容器名。
  • 容器运行状态有三种:UP 表示运行中、Created 容器已创建,但成功运行、Exited 表示容器已停止运行
[root@AKA ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                   CREATED             STATUS              PORTS                                      NAMES
b06e0e1acce8        mynginx:1.17.8      "/bin/sh -c \"/root/a…"   6 days ago          Up 6 days           0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp   nginx
e4023e4c3ab1        mysql:5.6           "docker-entrypoint.s…"    6 days ago          Up 6 days           0.0.0.0:3306->3306/tcp                     mysql
6fc7fe2b32cc        myphp:7.4-fpm       "docker-php-entrypoi…"    6 days ago          Up 6 days           0.0.0.0:9000->9000/tcp                     php

docker cp

  • docker cp 命令用于将宿主机指定文件或目录复制到容器指定目录中
  • 栗子:docker cp 文件或目录 容器名称或容器id:/拷贝到容器位置
 docker cp file.test nginx:/root

docker rm

  • docker rm 命令用于删除一个处于未运行状态的容器。
  • 当你使用 docker rm 命令去删除处于运行中状态的容器时,命令会执行失败。
  • 只能删除已经停止的容器
#   删除指定容器
docker rm 容器名
#   所有所有容器
docker rm `docker ps -aq`

docker tag

  • 有时候官方镜像拉不下来,就会从第三方仓库拉取镜像,拉取完成就要重新给镜像重新打标签
  • 栗子:gcr.azk8s.cn/google-containers/defaultbackend-amd64:1.5 重新打成 k8s.gcr.io/defaultbackend-amd64:1.5
  • docker tag 旧镜像名称 新镜像名称
#   拉取镜像
docker pull gcr.azk8s.cn/google-containers/defaultbackend-amd64:1.5
#    给拉取的镜像重新打标签
docker tag gcr.azk8s.cn/google-containers/defaultbackend-amd64:1.5 k8s.gcr.io/defaultbackend-amd64:1.5

docker rmi

  • 上面镜像打包完成 那么会存在2个镜像
  • 删除第三方仓库拉取的镜像
  • docker rmi -f 镜像id或镜像名称
#   查看存在的镜像
root@AKA:~# docker images
REPOSITORY                                                       TAG                 IMAGE ID            CREATED             SIZE
gcr.azk8s.cn/google-containers/defaultbackend-amd64              1.5                 b5af743e5984        17 months ago       5.13MB
k8s.gcr.io/defaultbackend-amd64                                  1.5                 b5af743e5984        17 months ago       5.13MB

#   删除没用的镜像
docker rmi -f gcr.azk8s.cn/google-containers/defaultbackend-amd64:1.5

docker run

  • docker run 命令用于启动 Docker 容器。在启动容器时,可以指定容器名称、端口映射、文件目录持久化、环境变量等
  • 这里简单示例
  • -d 放人后台运行
  • –name 设置容器名称
root@AKA:~# docker run -d --name=nginx nginx:1.17.5
7002443c9efd61e8da4f17d47698abeb8a15f1b4a2412bee7c3ea45aeb255b45

docker pull

  • docker pull 命令用于拉取镜像。拉取 docker 官方镜像仓库无需登录,直接传入镜像名和版本号即可。
  • docker pull 从第三方镜像仓库拉取一般无需登录,需要传入第三方仓库域名、镜像名和版本号即可
  • docker pull 私有仓库拉取需要先通过 docker login 登录仓库,登录完成后才能拉取镜像
  • 这里通过 docker 官方镜像仓库拉取镜像
#   从官方仓库拉取镜像
docer pull nginx:1.17.5
#   从第三方仓库拉取镜像
docker pull quay.mirrors.ustc.edu.cn/nginx:1.17.5
#   从私有仓库拉取镜像
docker login hub.akiraka.net
docker  pull hub.akiraka.net/test/nginx:1.17.5

docker logs

  • docker logs 命令用于查看指定容器日志。
  • -f 命令持续最终日志
  • — since 查看指定日期日志
  • 栗子:查看正在运行的 nginx 日志
docker logs -f --since="2020-03-05" nginx

docker exec

  • docker exec 命令用于登录到正在运行中的容器,登录容器后可以对改容器进行交互操作
docker exec -it 正在运行的容器名称 bash 或 sh

docker save

  • docker save 将已拉取下来镜像保存到本地
  • 栗子:将 docker image 中的 nginx:1.17.5 保存为 test_save
docker save -o test_save nginx:1.17.5

docker load

  • docker load 将镜像导入到 docker images 中
  • 栗子:将 test_save 导入到 docker images 中
docker load -i test_save

docker push

  • docker push 命令用于推送到镜像到仓库,要推送必须先登录仓库
#   登录需要推送的仓库
docker login hub.akiraka.net
#   给镜像重新打标签
docker tag nginx:1.17.5 hub.akiraka.net/test/mynginx:1.17.5
#   推送镜像
docker push hub.akiraka.net/test/mynginx:1.17.5

docker stop

  • docker stop 命令用于停止一个处于运行中状态的容器。
#   停止指定容器名
docker stop 容器名
#   停止所有正在运行中的容器
docker stop $(docker ps -aq)

docker start

  • docker start 命令用于启动一个处于未运行状态的容器,该命令只能启动容器,不能修改容器的启动参数。
docker start 容器名

docker build

  • docker build 用于构建镜像。构建镜像需要依赖一个源镜像,列如 centos ubuntu alpine 等做基础镜像,也可以拉取官方镜像通过 dockerfile 镜像修改成自己的镜像
docker buile -f dockerfile文件 -t 镜像名称:版本 .

docker login

  • docker login 命令用于登录 docker 仓库。拉取非公开镜像仓库的镜像或者要往镜像仓库中推送镜像时,需要先通过 docker login 命令登录该镜像仓库,再进行操作。
#   登录镜像仓库
docker login hub.akiraka.net

docker logout

  • docker logout 命令用于退出镜像仓库。与镜像仓库操作结束后,出于安全考虑,要退出已登录镜像仓库。
#   推出登录
docker logout hub.akiraka.net

docker images

  • docker images 命令查看镜像列表
  • docker images -a 命令查看构建镜像所包含的子镜像
root@AKA:~# docker images
REPOSITORY                                                       TAG                 IMAGE ID            CREATED             SIZE
nginx                                                            1.17.5              a51b96d51b08        3 months ago        443MB
k8s.gcr.io/defaultbackend-amd64                                  1.5                 b5af743e5984        17 months ago       5.13MB

docker network

  • docker network create 创建网络
  • docker network list 查看网络列表
  • docker network inspect 查看网络信息
  • docker network del 删除网络
#   创建名为 aka-network 网络
root@AKA:~# docker network create aka-network
6b622e972364a74f4363ae0a1525ae1b7058f61c33bcaf32a93f247f7ef1893a

#   查看网络列表
root@AKA:~# docker network list
NETWORK ID          NAME                    DRIVER              SCOPE
6b622e972364        aka-network             bridge              local
0a7d57869974        bridge                  bridge              local
dd6ccf092ba4        host                    host                local
a863ff819bfd        none                    null                local

#   查看指定网络信息
docker network inspect aka-network

#   删除指定网络
docker network del aka-network
#docker#linux
1
分享
Akiraka 站长
文章 121评论 10
相关文章
  • Docker 修改默认存储路径
  • Centos/Ubuntu Linux 系统 根目录扩容方法
  • RocketMQ 集群容器多机编排主主
  • 搭建 Redis 主从搭建配置
  • Docker-Compose 网络配置
Akiraka
站长
本人擅长 Ai、Au、Fl、Ae、Pr、Ps 等软件的安装与卸载,精通 CSS、JavaScript、PHP、Python、Shell、Go 等单词的拼写,熟悉 Windows、Linux、Mac、Android、IOS 等系统的开关机!
121文章
10评论
47获赞
想找什么搜一下
文章聚合
Kubernetes(k8s)kubectl 命令补全
1年前
Docker File使用阿里源
1年前
pyspark连接MySQL出错
1年前
Docker-Compose 网络配置
6月前
Linux 下删除乱码文件、目录
1年前
微信小程序
微信小程序
标签云
brew cdh centos cmd docker docker compose elasticsearch elk filebase filebeat gitlab grafana hadoop helm hive hue jdk jenkins k8s kibana kubernetes liniux linux logstash mac mikrotik mydumper mysql nfs nginx openssl oss php pip pyspark python RabbitMQ redis rocketmq shell Spark ubuntu windows ZooKeeper 容器编排
Copyright © 2019-2021 Akiraka. Designed by nicetheme. 沪18036911号