Akiraka Akiraka
  • Home
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • Big Data
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • K8S
    • Kubernetes
    • Helm
  • Other
  • Quark
  • Contribute
  • Home
  • Linux
    • ELK
    • PHP
    • Shell
    • Nginx
    • Docker
      • Docker Compose
    • Centos
    • Ubuntu
    • Jenkins
  • Python
  • Mac OS
  • Windows
  • Big Data
    • Hadoop
    • CDH
    • Hive
    • Spark
    • ZooKeeper
  • K8S
    • Kubernetes
    • Helm
  • Other
  • Quark
  • Contribute
首页 Linux Docker Docker 常用命令

Docker 常用命令

Akiraka 2年前

文章目录

  • 常用命令
    • 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
猜你喜欢
  • Dockerfile 构建 FreeRadis 镜像
  • KeyCloak Docker Compose 部署
  • 密码保护:KeyCloak 结合 Gitlab SSO 一键登录认证
  • Linux Centos/Ubuntu/Debain配置账户登录失败锁定策略
  • Linux systemd-resolve占用53端口的解决方法
Akiraka
站长
本人擅长 Ai、Au、Fl、Ae、Pr、Ps 等软件的安装与卸载,精通 CSS、JavaScript、PHP、Python、Shell、Go 等单词的拼写,熟悉 Windows、Linux、Mac、Android、IOS 等系统的开关机!
160
文章
24
评论
73
获赞
Popular Articles
TOP1
Kubernetes(k8s)Helm 部署 EFK 集群
2年前
TOP2
Kubernetes(k8s)helm 搭建 prometheus + Grafana 监控
2年前
TOP3
Container 命令ctr、crictl 命令使用说明
11月前
TOP4
Kubernetes(k8s)Helm 部署 Jenkins 持续化集成部署
2年前
TOP5
Helm 部署 Loki 日志聚合
2年前
Related Articles
Docker 常用命令
2年前
按时间段拉黑Nginx IP地址
2年前
php 容器编排
2年前
KeyCloak Docker Compose 部署
3月前
Mac终端 bash和zsh切换方法
2年前
Copyright © 2019-2022 Akiraka. 沪18036911号