1 镜像操作
1.1 搜索官方仓库镜像 docker search
docker search nginx
docker search elasticsearch
1.2 拉取镜像 docker pull
docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
1)根据镜像名称(tag指定版本)拉取镜像
[root@localhost ~]# docker pull nginx:1.14-alpine
[root@localhost ~]# docker tag nginx:1.14-alpine test/nginx:v1
标记本地镜像,将其 归入某一仓库
[root@localhost ~]# docker images
[root@localhost ~]# docker history nginx:1.14-alpine 查看镜像的层数
1.3 查看当前主机镜像列表 docker image—-可以查看帮助文档
[root@localhost ~]# docker images
[root@localhost ~]# docker image ls
[root@localhost ~]# docker image ls nginx
1.4 导出镜像docker image save
[root@localhost ~]# docker image save nginx > docker-nginx.tar.gz
[root@localhost ~]# ls docker-nginx.tar.gz docker-nginx.tar.gz
[root@localhost ~]# docker image save -o ./ubuntu_nginx.tar.gz ubuntu:latest nginx:1.14-alpine
1.5 删除镜像docker image rm—也可以使用ID删除镜像
[root@localhost ~]# docker image rm nginx:1.14-alpine
[root@localhost ~]# docker image rm bf7
1.6 导入镜像docker image load
[root@localhost ~]# docker image load -i docker-nginx.tar.gz
1.7 查看镜像的详细信息docker image inspect
[root@localhost ~]# docker image inspect nginx
2 容器操作
2.1 启动容器docker run
(1)格式
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
(2)options 常用命令选项
-t :打开一个终端,像使用交换机一样使用容器
-i:交互式访问
–name:容器名字
–network:指定网络
–rm:容器一停,自动删除
-d:后台运行容器,返回容器ID;否则会一直占据着终端
-p:端口映射,将容器内服务的端口映射在宿主机的指定端口,格式为:主机 (宿主)端口:容器端口
-P: 随机端口映射,容器内部端口随机映射到主机的端口
eg:
[root@localhost ~]# docker run --name web1 -d -p 8888:80 nginx:1.14-alpine 208d99fcbf1df07b3db639e573f5e608f60f0fbd3518a7565ff6c331a9a4380d [root@localhost ~]# docker port web1 查询docker端口映射
80/tcp -> 0.0.0.0:8888
[root@localhost ~]# docker run --name ubuntu1 -it ubuntu /bin/bash 在运行容器时, 交互式进入容器
root@3a2efd452b34:/# ls
bin dev home lib32 libx32 mnt proc run srv tmp var boot etc lib lib64 media opt root sbin sys usr
root@3a2efd452b34:/# exit 退出\
4)查询容器运行状态命令
docker ps
说明:-a查询所有的容器,包括未运行的容器
注:容器内的第一个进程必须一直处于运行的状态,否则这个容器,就会处于退出状态!
2.2 停止运行的容器docker stop/kill
docker stop 关闭运行的容器
docker kill 杀死运行的容器
2.3 激活关闭的容器
docker start
2.4 查看容器的详细信息docker inspect
[root@localhost ~]# docker inspect web1 | grep -i address
2.5 查询容器内部日志
2.6 对运行的容器执行指定命令docker exec
2.7 删除容器docker rm
2.8 容器中管理数据
1)创建一个数据卷:
[root@localhost ~]# docker volume create my-vol
my-vol
[root@localhost ~]# docker volume ls
DRIVER VOLUME NAME
local my-vol
2)查看指定数据卷的信息:
[root@localhost ~]# docker volume inspect my-vol
3)启动一个挂载数据卷的容器:
在用 docker run 命令的时候, 使用 -v 标记来将数据卷挂载到容器里。 在一次 docker run 中可以挂载多个数据卷 。下面创建一个名为 web 的容器, 并加载一个数据卷到容器的 /usr/share/nginx/html/ 目录
[root@localhost ~]# docker run -d -P --name web -v my-vol:/usr/share/nginx/html nginx:1.14-alpine 04379ab39cd06835c3f5c3b1af1b357cb82b926c8dc400681ba6d79f0ddeb853 [root@localhost ~]# docker inspect web
[root@localhost ~]# docker ps -a
[root@localhost ~]# docker volume rm my-vol
无主的数据卷可能会占据很多空间, 要清理请使用以下命令
[root@localhost ~]# docker volume prune
查看镜像、容器、数据卷所占用的空间
[root@localhost ~]#
docker system df