镜像命令
docker images 查看所有本地主机的镜像
[root@localhost zhouyu]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 2 months ago 13.3kB
# 字段解释
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像ID
CREATED 镜像创建时间
SIZE 镜像大小
# 可选项
-a,-all # 列出所有镜像
-q,-quiet # 只显示镜像的ID
docker search xxx 搜索镜像
[root@localhost zhouyu]# docker search mysql
NAME DESCRIPTION STARS OFFIC AUTOMATED
mysql MySQL is a widely used, open-source relation… 10886 [OK]
mariadb MariaDB Server is a high performing open sou… 4104 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 809 [OK]
centos/mysql-57-centos7 MySQL 5.7 SQL database server 87
mysql/mysql-cluster Experimental MySQL Cluster Docker images. Cr… 83
centurylink/mysql Image containing mysql. Optimized to be link… 59 [OK]
bitnami/mysql Bitnami MySQL Docker Image 52 [OK]
… …
… …
docker search xxx --filter=STATS=3000 添加过滤条件搜索镜像
#只显示START大于3000的mysql条目
[root@localhost zhouyu]# docker search mysql
NAME DESCRIPTION STARS OFFIC AUTOMATED
mysql MySQL is a widely used, open-source relation… 10886 [OK]
mariadb MariaDB Server is a high performing open sou… 4104 [OK]
… …
… …
docker pull xxx 下载镜像
[root@localhost zhouyu]# docker pull mysql
----------------
# 指定版本下载
[root@localhost zhouyu]# docker pull mysql:5.7
docker rmi 删除镜像
# 删除指定的容器
[root@localhost zhouyu]# docker rmi-f 容器id
# 删除多个容器
[root@localhost zhouyu]# docker rmi-f 容器id 容器id ... 容器id
# 删除所有容器
[root@localhost zhouyu]# docker rmi-f $(docker images -aq)
Docker命令
首先在docker中下载一个centos用于测试。
[root@localhost zhouyu]# docker pull centos
新建容器并启动
docker run [可选参数] image
# 参数说明
--name="Name" 自定义容器名字,用于区分容器
-d 以后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
-p ip:主机端口:容器端口
-P 随机指定端口
# 启动并进入容器
[root@localhost /]# docker run -it centos /bin/bash
[root@9e1d2a194c5c /]# ls
bin etc lib lost+found mnt proc run srv tmp var dev home lib64 media opt root sbin sys usr
# 退出并停止容器
[root@9e1d2a194c5c /]# exit
exit
列出所有运行的容器
[root@localhost /]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9e1d2a194c5c centos "/bin/bash" 4 minutes ago Exited (0) 2 minutes ago agitated_shtern
7e9be41d85e6 hello-world "/hello" 3 hours ago Exited (0) 3 hours ago priceless_lewin
eb19dfa5a7ed hello-world "/hello" 33 hours ago Exited (0) 33 hours ago agitated_roentgen
f901b90c67aa hello-world "/hello" 33 hours ago Created busy_jackson
a3bd5627d03d hello-world "/hello" 33 hours ago Created crazy_jepsen
-a 列出当前和历史运行容器
-n=? 列出最近创建的容器
-q 显示所有容器的编号
退出容器
exit # 退出并停止容器
Ctrl + P + Q # 退出但不停止容器
删除容器
docker rm 容器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 # 强制停止指定容器
常用其他命令
后台启动容器
[root@localhost /]# docker run -d centos
# 问题:执行 docker ps命令,发现centos停止了
docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止。比如Nginx容器启动后,发现自己没有提供服务,就会立刻停止。
查看日志
docker logs
记录:看到第11个视频。