1、显示docker版本
docker version
2、显示docker系统信息
docker info
3、查看帮助
docker --help
4、文档
[https://docs.docker.com/reference/](https://docs.docker.com/reference/)
镜像命令
docker images 查看所有本地的主机上的镜像
[root@iZuf65o9ovhniso4w0oji5Z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 3 weeks ago 13.3kB
#解释
REPOSITORY 镜像的仓库源
TAG 镜像的版本标签
IMAGE ID 镜像的ID
CREATED 镜像的创建时间
SIZE 镜像的大小
# 可选项
Options:
-a, --all #列出所有的镜像
-q, --quiet #只显示镜像的ID
docker search 搜索镜像
docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 10706 [OK]
mariadb MariaDB Server is a high performing open sou… 4026 [OK]
#可选项 通过搜索来过滤
--filter=stars=3000 过滤stars>3000的镜像
docker pull 下载镜像
[root@iZuf65o9ovhniso4w0oji5Z ~]# docker pull mysql
Using default tag: latest #默认下载最新版本
latest: Pulling from library/mysql #从仓库拉取
75646c2fb410: Pull complete
878f3d947b10: Pull complete
1a2dd2f75b04: Pull complete
8faaceef2b94: Pull complete
b77c8c445ec2: Pull complete
074029aeaa5f: Pull complete
5a1122545c6c: Pull complete
6c95ccd00139: Pull complete
60a719448fdb: Pull complete
f31898a387a3: Pull complete
bcf402a978dc: Pull complete
cf0bc7da512e: Pull complete
Digest: sha256:c35eb76bbccfd0138c8c68ccb9b4cffe42c488a27f64ddc31a2b5f65aa93fce6 #凭证
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
#等价于docker pull docker.io/library/mysql:latest
#指定版本下载
docker pull mysql:5.7
docker rmi 删除镜像
docker rmi -f 镜像ID #根据ID删除镜像
docker rmi -f 镜像ID 镜像ID 镜像ID #删除多个镜像
docker rmi -f $(docker images -aq) #删除全部镜像
Untagged: mysql:latest
Untagged: mysql@sha256:c35eb76bbccfd0138c8c68ccb9b4cffe42c488a27f64ddc31a2b5f65aa93fce6
Deleted: sha256:e646c6533b0bcb75743ea9b176a03012610b2df7072dc312bf5921d1fbc5149c
Deleted: sha256:65167f08b8a8dfac64a23b6b416c9ae1b50e0eec43727a4df8654ba1121a2a82
Deleted: sha256:1da921102b7e22586e21597284a1b4a6da9d4ff769b34cb2a0ecf38238e7f378
Deleted: sha256:64f88c01ccb2cd83b3604fec48898890b007fb72d7ca97f8931b3aeef0442da5
Deleted: sha256:bcb7715e41d1583aabc2fbb4483023c4ad16ba01a1031fe9b1a28ec2fab3c607
Deleted: sha256:729a120d8ee08d06c02dd57aea41072001cb42d44b7e20e6c9d739e18baeb25d
Deleted: sha256:9b5fe2cce556fb46ccde1cf0358fc22a3378a1dd20e525a34fd02957ee2cfce5
Deleted: sha256:2dfff1f3267fa4ce98ad0c08e2566a32678e8db4a5b8e1750aeb12196509fd7d
Deleted: sha256:7a718ab0925be444d88315dcb89bd6402aca90491c3f44e024fcce642bc1eb43
Deleted: sha256:f6d6e42a834bf91e5c71cc864e4ba498ab0c1a6462a40c3b4961b7280bd4ee48
Deleted: sha256:d90b24d60fdb91130a4aab53c5ccda49e2695550a854817d5c5b30d6932a3831
Deleted: sha256:365c08d1f99c6e8c2aa15a51e379efd071c54ee71dc5c506db8ae617e0338e06
Deleted: sha256:346fddbbb0ff19bdb026afb053df490c0c73981a8a985882cf8ee3d716735e87
Untagged: hello-world:latest
Untagged: hello-world@sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24
Deleted: sha256:d1165f2212346b2bab48cb01c1e39ee8ad1be46b87873d9ca7a4e434980a7726
[root@iZuf65o9ovhniso4w0oji5Z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
容器命令
有了镜像才可以创建容器,下载centos来测试学习。
docker pull centos
新建容器并启动
docker run [可选参数] image
#参数说明
--name="Name" 容器名字
-d 后台方式运行
-it 使用交互方式运行 进入容器查看内容
-p 指定容器的端口 -p 8080:8080可以做映射
-P 随机指定端口
#使用
[root@iZuf65o9ovhniso4w0oji5Z ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 300e315adb2f 4 months ago 209MB
##启动并进入容器
[root@iZuf65o9ovhniso4w0oji5Z ~]# docker run -it centos /bin/bash
[root@238377b18324 /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
##停止容器并退出
[root@238377b18324 /]# exit
exit
## 列出所有运行的容器
docker ps
docker ps -a # 查看曾经运行过的容器
## 不停止退出
ctrl+P+Q 快捷键
# 删除容器
docker rm 容器id #删除指定的容器,不能删除正在运行的容器,如果强制删除,rm -f
docker rm -f $(docker ps -aq) #删除所有的容器
docker ps -a -q|xargs docker rm #删除所有容器
启动和停止容器的操作
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id #强制停止当前容器
## 常用命令
后台启动容器
docker run -d centos
docker ps 发现centos停止了
#常见的坑 docker使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
查看日志
docker logs -f -t --tail 容器 没有日志
[root@iZuf65o9ovhniso4w0oji5Z ~]# docker run -d centos /bin/sh -c "while true;do echo lby;sleep 1;done"
6d07759139153353ffd759ff5ae79d5469d84f0e4074d473936f4fb8c44f105d
[root@iZuf65o9ovhniso4w0oji5Z ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6d0775913915 centos "/bin/sh -c 'while t…" 5 seconds ago Up 4 seconds great_wilbur
docker logs -tf --tail 10 6d0775913915
查看容器中进程信息
docker top 容器id
查看镜像的元数据
docker inspect 040a1edb79be # docker inspect 容器id
进入当前正在运行的容器
#如果容器是使用后台方式运行的,需要进入容器,修改一些配置
docker exec -it 容器id bashshell
docker attach 容器id 正在执行的容器
# 区别
docker exec 进入容器后开启一个新的终端,可以在里边操作
docker attach 进入容器正在执行的终端 不会启动新的进程
从容器内拷贝文件到主机上
#命令 docker cp
docker cp 容器id:容器内路径 目的主机路径