Docker 常用命令
常用命令
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
版权声明:
作者:Akiraka
链接:https://www.akiraka.net/linux/docker/399.html
来源:Akiraka
文章版权归作者所有,未经允许请勿转载。
THE END
0
二维码
海报
Docker 常用命令
常用命令
docker ps
docker ps 命令查看当前运行中容器
docker ps -a 命令查看已启动容器,包括创建未运行及已停止运行容器
从左到右依次为:容器ID、镜像、……
文章目录
关闭