帮助命令
docker version
docker info
docker 命令 --help #帮助命令
命令帮助文档地址:docker帮助文档地址
镜像命令
镜像
[root@test5 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 12 months ago 13.3kB
Options:
-a, --all Show all images (default hides intermediate images)
--digests Show digests
-f,--filter filter Filter output based on conditions provided
--format string Pretty-print images using a Go template
--no-trunc Don't truncate output
-q, --quiet Only show image IDs
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的ID
CREATED 镜像的创建时间
SIZE 镜像的大小
#可选项
-a, --all 显示所有镜像
-q, --quiet 只显示镜像id
搜索
[root@test5 ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 10380 [OK]
mariadb MariaDB is a community-developed fork of MyS… 3848 [OK]
#可选项
--filter=STARS=3000 过滤STARS大于3000的
下载镜像
[root@test5 ~]# docker pull mysql #默认最新版本
[root@test5 ~]# docker pull mysql:8.0.23 #下载MYSQL8.0.23版本
8.0.23: Pulling from library/mysql #分层下载,docker image的核心,联合文件系统
a076a628af6f: Pull complete
f6c208f3f991: Pull complete
88a9455a9165: Pull complete
406c9b8427c6: Pull complete
7c88599c0b25: Pull complete
25b5c6debdaf: Pull complete
43a5816f1617: Pull complete
1a8c919e89bf: Pull complete
9f3cf4bd1a07: Pull complete
80539cea118d: Pull complete
201b3cad54ce: Pull complete
944ba37e1c06: Pull complete
Digest: sha256:feada149cb8ff54eade1336da7c1d080c4a1c7ed82b5e320efb5beebed85ae8c #签名
Status: Downloaded newer image for mysql:8.0.23
docker.io/library/mysql:8.0.23 #真实地址
删除镜像
[root@test5 ~]# docker rmi -f c8562eaf9d81 #根据id删除,也可根据名称删除(删除多个各id中间加空格)
容器命令
有了镜像才能创建容器,linux,下载一个centos镜像学习并测试
docker pull centos;
docker run [可选参数] image
# 参数说明
--name "Name" 容器名字: tomcat01 tomcat02用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器端口 -p 8080:8080 (-p 主机端口:容器端口)(-p容器端口)(-p ip:主机端口:容器端口)
[root@test5 ~]# docker run -it centos /bin/bash
[root@44b833922b8f /]# #此处就是linux里的linux.
[root@44b833922b8f /]# exit #停止并退出,回到主机
ctrl+P+Q #容器不停止并退出,回到主机
列出所有正在运行的容器(下面没有容器在运行)
[root@test5 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@test5 ~]# docker ps -a #查看曾经运行过的容器
# 可选项
-a 列出当前正在运行的容器+带出历史运行的容器
-n=? 显示最近创建的容器 (-n=1 只显示最近的1个容器)
-q 只显示容器的编号跟镜像一样。或-aq
删除容器
docker rm 容器id
docker ps -a -q|xargs docker rm #删除所有的容器
启动和停止容器
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止容器
docker kill 容器id #强制停止当前容器
常用其他命令
后台启动
[root@test5 ~]# docker run -d centos
#上面执行完在执行docker ps 发现并没有centos,这是docker容器使用后台运行时就必须要有一个前台进程,所有容器启动后发现自己没有提供服务,就会立刻停止,就是没有程序了
查看日志
docker logs -tf --tail 10 容器 # -tf 显示日志,--tail number 显示日志条数
查看容器中的进程信息
docker top 容器id #
查看镜像源数据
docker inspect 容器id
进入当前正在运行的容器
#容器通常都是后台方式运行的,需要进入容器,修改一些配置
方式一:docker exec -it 容器id # 此方式进入容器后开启一个新的终端(常用)
方式二:docker attach 容器id # 进入容器正在执行的终端
从容器拷贝文件到主机上
docker cp 容器id:目录路径/文件名 拷贝到主机的目录
如:docker cp c23ede725f7c:/home/test.java /home