容器常用命令
查看所有命令:docker
可以直接输入该命令查看docker客户端的所有命令
查看命令帮助:docker cmd –help
可以查看cmd命令的详细用法
查找镜像:docker search [image]
该命令可以在线查找镜像image的所有可用信息,按照自己需要去找,也可以选择stars多的来下载。
[root@VM_16_15_centos bin]# docker search redis
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/redis Redis is an open source key-value store th... 4715 [OK]
docker.io docker.io/bitnami/redis Bitnami Redis Docker Image 68 [OK]
docker.io docker.io/sameersbn/redis 62 [OK]
下载镜像:docker pull [image name]:[TAG]
使用docker search找到镜像后如果要下载某一个镜像,那么就使用该命令来下载镜像,image name为docker search 的返回结果中显示的NAME这一列的内容。
冒号后的TAG的意思是可以对下载的镜像定义一个标签,类似于别名,可以下载同一个镜像多次,对每次下载的镜像指定不同的TAG。 TAG的用处是对于同一个系统可能会有多个版本存在,所以可以根据TAG来指定不同的版本。
如果不指定TAG那么默认的TAG为latest
查看仓库的镜像:docker images
查看本地仓库中的镜像
[root@VM_16_15_centos bin]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/redis latest 861cc310cd91 10 hours ago 106.7 MB
docker.io/centos/mysql-57-centos7 5.7 1c1a7994bd4e 3 days ago 447.1 MB
docker.io/centos/mysql-57-centos7 latest 1c1a7994bd4e 3 days ago 447.1 MB
docker.io/hello-world latest f2a91732366c 9 weeks ago 1.848 kB
查看容器:docker ps [-l]
查看正在运行中的容器,并显示容器的一些基本信息。
-l该参数会显示最后一次创建的容器。
CONTAINER ID:容器的唯一标识。
IMAGE:容器使用的镜像。
COMMAND: 不知道啥意思,后面查一下。??
CREATED:创建时间
STATUS:容器状态
PORTS:容器内端口与系统的端口映射关系及通讯协议。 0.0.0.0:3306->3306/tcp这个的意思是容器内的3306端口映射到操作系统的3306端口,前半部分是本地操作系统的端口,后半部分是容器的端口。
NAMES:创建容器时指定的容器名称,该名字不能重复。
[root@VM_16_15_centos bin]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89a431653e0c docker.io/centos/mysql-57-centos7:5.7 "container-entrypoint" 7 hours ago Up About an hour 3306/tcp, 0.0.0.0:3307->3307/tcp mysql1
587c2875cc3f docker.io/centos/mysql-57-centos7:5.7 "container-entrypoint" 28 hours ago Up 28 hours 0.0.0.0:3306->3306/tcp mysql
查看容器的端口:docker port [container id / container name]
可以使用CONTAINER ID或CONTAINER NAME来查看容器所使用的端口及端口映射关系。
[root@VM_16_15_centos bin]# docker port 89a431653e0c
3307/tcp -> 0.0.0.0:3307
[root@VM_16_15_centos bin]# docker port mysql
3306/tcp -> 0.0.0.0:3306
[root@VM_16_15_centos bin]# docker port mysql1
3307/tcp -> 0.0.0.0:3307
查看容器的日志:docker log [-f] [container id/container name]
查看指定容器的日志。
-f参数的功能类似:tail -f 的功能。如果不加-f参数则会将日志显示到屏幕中。
查看容器的进程: docker top [container id/container name]
[root@VM_16_15_centos bin]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
89a431653e0c docker.io/centos/mysql-57-centos7:5.7 "container-entrypoint" 7 hours ago Up About an hour 3306/tcp, 0.0.0.0:3307->3307/tcp mysql1
587c2875cc3f docker.io/centos/mysql-57-centos7:5.7 "container-entrypoint" 28 hours ago Up 28 hours 0.0.0.0:3306->3306/tcp mysql
[root@VM_16_15_centos bin]# docker top mysql
UID PID PPID C STIME TTY TIME CMD
27 26296 26282 0 Jan24 ? 00:01:00 /opt/rh/rh-mysql57/root/usr/libexec/mysqld --defaults-file=/etc/my.cnf
查看底层信息: docker inspect [container id/container name]
该命令显示容器的底层信息,以JSON的格式返回。包括ID、创建时间、使用的内存等等的一堆信息。
停止容器: docker stop [container id/container name]
启动容器:docker start [container id/container name]
重启容器:docker restart [container id/container name]
删除容器:docker rm [container id/container name]
删除容器时容器必须是停止运行的状态,否则会报错。
创建容器: docker run [-d ] [-p] [-name container name] [-v param] [image name:tag]
创建一个容器并运行容器,运行容器后会产生一个container id,该id是docker为该容器分配的唯一ID。
-d:让容器在后台运行。
-p:配置容器内部的端口与主机的端口映射关系
-name:指定容器的名字,后面跟容器名字。
-v:启动容器所必须的参数,每个容器使用的参数不同,可以跟多个参数
image:tag: image为镜像名称,tag为镜像的tag,可以不写tag那么docker就默认使用tag为:latest的镜像。
mysql的启动命令:
PHOME=/root/docker/mysql
docker run -p 3306:3306 --name mysql -v $PHOME/conf/my.cnf:/etc/mysql/my.cnf -v $PHOME/log:/log -v $PHOME/data:/data \
-e MYSQL_ROOT_PASSWORD=root -d docker.io/centos/mysql-57-centos7:5.7