镜像命令:
$ docker image 查看主机上所有镜像
-
REPOSITORY:表示镜像的仓库源
-
TAG:镜像的标签
-
IMAGE ID:镜像ID
-
CREATED:镜像创建时间
-
SIZE:镜像大小
$ docker images -a 或者$ docker images --all 查看主机上所有镜像
$ docker images -q 或者$ docker images -quiet 查看主机上所有镜像 的id
$ docker search mysql 搜索镜像
$ docker search mysql --filter=STARS=5000 通过收藏过滤搜索出来的进行,这里搜索出来的镜像就是STARTS大于5000的
$ docker pull 镜像名 下载镜像
docker pull mysql 等价于 docker pull docker.io/library/mysql:latest
$ docker pull 镜像名:版本号 下载指定版本的镜像
$ docker rmi 删除镜像
docker rmi -f 7ce93a845a8a 删除指定镜像id的镜像
docker rmi -f 509b2fc82da6 5107333e08a8 删除多个镜像用空格隔开镜像id
$ docker rmi -f $(docker images -aq) 删除全部镜像
容器命令:
有了镜像才可以创建容器,Linux 下载一个centos镜像
下载容器:
$ docker pull centos
启动并进入容器:
$ docker run -it centos /bin/bash
退出容器:
$ exit 从容器中退回主机 并停止运行
按键盘上:Ctl +P + Q 退出容器继续运行
列出所有的运行的容器
docker ps 列出正在运行的容器
docker ps -a 列出所有运行的容器,包括历史运行过的容器
docker ps -a -n=1 列出最近创建的1个容器,包括历史运行过的容器
docker ps -q 列出正在运行的容器的id
docker ps -a -q 列出正在运行的和历史运行过的容器的id
删除容器:
删除指定容器:$ docker rm 容器id 不能删除正在运行的容器 如果要强制删除:$ docker rm -f 容器id
删除所有容器:$ 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 容器名称
$ docker run -d --name nginx01 -p 3344:80 nginx
注解:$ docker run -d --name 容器命名 -p 映射出来的端口号:容器的端口号 需要运行的容器
端口暴露: -p 将nginx01 的端口 80 暴露 给3344端口 就可以通过3344端口访问到80端口的nginx了
注意:启动成功后 docker ps 发现没有运行的容器 ,是因为docker使用后台运行就必须要有一个前台进程,docker 发现没有应用就会停止
nginx 容器启动后,发现自己没有提供服务就会立刻停止
查看日志 :$ docker logs -f -t -tail 容器id
-tf 查看日志
--tail number 查看日志条数
查看容器进程信息: $ docker top 容器id
查看容器元数据:$ docker inspect 4d76f157c7f2
进入正在运行的容器:$ docker exec -it 容器id bashShall 进入容器后开起一个新的终端,可以在里面操作(常用)
$ docker exec -it 4d76f157c7f2 /bin/bash
$ docker attach 容器id 进入容器正在执行的终端,不会启动新的进程
容器拷贝:$ docker cp 容器id:容器路径 目的主机路径