帮助命令
docker version #docker的版本信息
docker info #docker的系统信息
docker --help #帮助命令
镜像命令
docker images镜像查询
[root@iZbp1cd9ik6hwx0s4en1shZ ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 3 months ago 13.3kB
说明:
REPOSITORY:镜像的仓库源
TAG :镜像的标签
IMAGE ID :镜像id
CREATED :镜像的创建时间
SIZE :镜像大小
可选项:
-a #列出所有镜像
-q #只显示镜像id
docker search搜索镜像
[root@iZbp1cd9ik6hwx0s4en1shZ ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOM ATED
mysql MySQL is a widely used, open-source relation… 10970 [OK]
mariadb MariaDB Server is a high performing open sou… 4148 [OK]
mysql/mysql-server Optimized MySQL Server Docker images. Create… 814 [OK]
percona Percona Server is a fork of the MySQL relati… 540 [OK]
可选项:
--filter过滤
--filter=STARS=3000 过滤掉收藏低于3000的镜像
docker pull镜像下载
docker pull mysql:5.7
docker rmi删除镜像
docker rmi -f 容器id #容器id可以是多个,每个用空格隔开
docker rmi -f $(docker images -aq) #删除所有容器
容器命令
注:我们有了镜像才可以创建容器
docker run 创建容器
docker run 镜像
#参数说明:
--name="Name" 容器名字,镜像名字不是容器名,所以要给容器起一个名字
-d 后台运行方式
-it 使用交互方式运行
-p 指定容器端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
-P 随机指定容器端口
测试
1.下载镜像
[root@iZbp1cd9ik6hwx0s4en1shZ ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
7a0437f04f83: Pull complete
Digest: sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
2.创建容器(也就是运行镜像)
以交互方式运行
[root@iZbp1cd9ik6hwx0s4en1shZ ~]# docker run -it centos /bin/bash
[root@5a89853417e9 /]# ls
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
[root@5a89853417e9 /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@5a89853417e9 /]#
docke ps 列出所有运行的容器
docker ps
-a #列出单却正在运行的容器+带出历史运行过的容器
-n=? # 显示最近创建的容器
-q # 只显示容器编号
退出容器
exit #直接退出容器,且停止运行容器
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 #强制停止当前容器
常用其他命令
1.后台创建容器
docker run -d 镜像名
注:有时候用docker ps查看后台运行容器时,并未发现运行的容器
问题:是因为容器后台运行时,必须要有一个前台进程,当docker发现没有前台应用时,就会自动停止
2.查看日志命令
docker logs -f -t --tail 容器
3.查看容器中的进程信息
docker top 容器id
4.查看镜像元数据
docker inspect 容器id
5.进入当前正在运行的容器
1.进入容器后开启一个新的终端,可以在里面操作(常用)
docker exec -it 容器id bashShell
2.进入正在执行的终端,不会启动新的进程
docker attach 容器id
6.从容器内拷贝文件到主机上
docker cp 容器id:容器内路径 目的地主机路径
commit镜像提交
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:版本号
docker commit -m="第一次修改tomcat" -a="leon" 7e119b82cff6 tomcat02:1.0
提交的步骤(以镜像tomcat为例):
1.启动默认的tomcat
2.进入tomcat容器中进行修改
3.将我们操作过的容器通过commit提交为一个镜像,此时新提交的镜像就在本地了,可以通过docker images查看