images和container:
images:跟平常使用的虚拟机的镜像一个意思,相当于一个模版。
container:是images运行时的的状态。docker对于运行过的image都保留一个状态(container),可以使用命令docker ps来查看正在运行的container,对于已经退出的container,则可以使用docker ps -a来查看。 如果你退出了一个container而忘记保存其中的数据,你可以使用docker ps -a来找到对应的运行过的container使用docker commit命令将其保存为image然后运行。
拉取镜像文件
(以mysql为例)
docker pull mysql
[root@iZ2zeinb1j2xz9m1rtf1eoZ ~]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
a10c77af2613: Pull complete
b76a7eb51ffd: Pull complete
258223f927e4: Pull complete
2d2c75386df9: Pull complete
63e92e4046c9: Pull complete
f5845c731544: Pull complete
bd0401123a9b: Pull complete
3ef07ec35f1a: Pull complete
c93a31315089: Pull complete
3349ed800d44: Pull complete
6d01857ca4c1: Pull complete
4cc13890eda8: Pull complete
Digest: sha256:aeecae58035f3868bf4f00e5fc623630d8b438db9d05f4d8c6538deb14d4c31b
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
查看系统中有哪些镜像文件
docker images
[root@iZ2zeinb1j2xz9m1rtf1eoZ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest b05128b000dd 12 days ago 516MB
查看正在运行的容器
docker ps
[root@iZ2zeinb1j2xz9m1rtf1eoZ ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a4906c25a761 mysql "docker-entrypoint.s…" 5 hours ago Up 4 hours 33060/tcp, 0.0.0.0:3312->3306/tcp, :::3312->3306/tcp mysqltest
进入容器里面
docker exec -it {CONTAINER ID} /bin/bash
[root@iZ2zeinb1j2xz9m1rtf1eoZ ~]# docker exec -it a4906c25a761 /bin/bash
查看容器的运行日志
docker logs {CONTAINER ID}
[root@iZ2zeinb1j2xz9m1rtf1eoZ ~]# docker logs a4906c25a761
2021-11-30 02:18:42+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.27-1debian10 started.
...
退出容器
exit
删除镜像
删除的顺序是 先删除 container,再删除image
1、先用命令:docker ps -a,找到 CONTAINER ID
2、再用命令删除container :docker rm {CONTAINER ID},如果container正在运行,则不能删除,
需要用命令停止该container的运行:docker stop {CONTAINER ID},然后在执行删除。
3、然后用命令删除image:docker rmi {IMAGE ID},在删除之前用命令查看下image id:docker images。
4、删除完后,用 docker images查看下看该image是否还存在。
查看docker的帮助会发现有两个与删除有关的命令rm和rmi
1、rm Remove one or more containers
2、rmi Remove one or more images
重启镜像container
[root@iZ2zeinb1j2xz9m1rtf1eoZ ~]# docker restart {CONTAINER ID}