Docker基础命令

本文主要基于上一片篇docker安装,来演示命令使用方法,docker安装。

1、Docker Hub搜索镜像 docker search 关键字

选项:
--automated=false:仅显示自动创建的镜像(通过Github或BitBucket仓库自动构建的镜像,直接从仓库复制一份,生成dockerfile并自动生成标记)

    --no-trunc=false:输出信息不截断显示

    -s,--stars=x:指定仅显示评价位指定星级以上的镜像

1)搜索centos docker search centos
Docker基础命令使用_第1张图片

2)搜索包含nginx关键字并且500以上星的镜像 docker search -s 500 nginx
Docker基础命令使用_第2张图片

2、下载镜像 docker pull 镜像名

1)搜索包含nginx关键字并且500以上星的镜像
docker search -s 500 nginx
Docker基础命令使用_第3张图片

2)从公有仓库中下载nginx镜像 docker pull nginx
Docker基础命令使用_第4张图片

3)显示当前系统所有镜像 docker images
Docker基础命令使用

3、上传镜像到仓库 docker push 路径

docker push 仓库IP:仓库端口 / 准备上传的镜像名 (如下命令)
docker push 192.168.152.159:5000/httpd

4、运行容器 docker run [选项] 镜像名

选项:
-i:交互式操作
-t:分配一个tty伪终端
-d:以守护进程形式运行

1)将下载的镜像文件或本地构建的镜像文件创建为容器并运行
docker run -d docker.io/nginx
Docker基础命令使用

2)将下载的镜像文件或本地构建的镜像文件创建为容器,并不运行
docker create [选项] 镜像名
Docker基础命令使用_第5张图片

3)通过httpd镜像文件创建容器并运行 docker run -it httpd:latest /bin/bash
Docker基础命令使用

4)运行容器并间隔1秒循环输出hello
docker run -it httpd:latest /bin/bash -c "while :;do echo "hello";sleep 1;done"
Docker基础命令使用

5、查看系统容器列表 docker ps

1)显示运行的容器 docker ps
Docker基础命令使用_第6张图片

2)查看当前系统所有容器 docker ps -a
Docker基础命令使用_第7张图片

6、查看容器日志 docker logs 日志id

1)查看正在运行容器的日志id docker ps
Docker基础命令使用_第8张图片

2)查看指定id容器日志 docker logs cf3ce6d758a0
Docker基础命令使用

7、退出容器(两种方式)

1)方式一:exit或ctrl+d //退出并停止容器
Docker基础命令使用

2)方式二:ctrl+p再ctrl+q //退出伪终端,容器后台继续运行(退出后docker attach id可切换指定Docker容器)
Docker基础命令使用

3)切换指定Docker容器 docker attach id
Docker基础命令使用_第9张图片

8、删除容器 docker rm id

1)强制删除正在运行的容器 docker rm -f 52eef72d268a
Docker基础命令使用_第10张图片
Docker基础命令使用_第11张图片

2)删除nginx标记为1的镜像 docker rmi nginx:1
Docker基础命令使用_第12张图片

9、运行、停止、重启、杀死容器

1)运行容器 docker start 45f6f82934ed
Docker基础命令使用_第13张图片

//创建容器 docker run -it docker.io/httpd /bin/bash
Docker基础命令使用_第14张图片

//运行指定id容器 docker start eaa21f17f6a7
Docker基础命令使用_第15张图片

2)停止容器 docker stop eaa21f17f6a7
Docker基础命令使用_第16张图片

3)重启容器 docker restart eaa21f17f6a7
Docker基础命令使用_第17张图片

4)杀死容器 docker kill eaa21f17f6a7
Docker基础命令使用_第18张图片

10、存储、载入镜像

1)存储镜像 docker save -o 目标tar文件 镜像文件:标记
docker save -o nginx_1.tar docker.io/nginx
Docker基础命令使用_第19张图片

2)载入镜像 docker load < tar文件
//查看并删除指定镜像 docker rmi -f nginx:latest
Docker基础命令使用_第20张图片

//载入镜像(之前做过存储在/root/目录下) docker load Docker基础命令使用_第21张图片

11、导出容器快照 docker export -o 目标tar文件 id

将容器当前状态导出到快照文件,可通过该文件拷贝到其余服务器导入到仓库中(与直接导入导出镜像存储文件相比,快照导入导出更小,但快照将丢弃所有的历史记录和容器当前运行状态)
//创建测试文件 touch hehe
Docker基础命令使用_第22张图片

//查看当前所有容器 docker ps -a
Docker基础命令使用_第23张图片

//将指定id容器导出快照文件 docker export -o nginx_hehe.tar 611f157876fd
Docker基础命令使用_第24张图片

12、导入本地容器快照

cat 本地容器快照名 | docker import - 自定义容器名:自定义标记名

1)通过快照文件导入为镜像文件
cat nginx_hehe.tar | docker import - nginx:aaa
Docker基础命令使用_第25张图片

2)还原并查看快照文件
创建容器并运行 docker run -it nginx:aaa /bin/bash
Docker基础命令使用

13、Docker网络配置

端口映射(外部访问容器应用)
启用容器时,如不指定对应参数,容器的外部是无法通过网络访问容器内部应用和服务,这时可通过-P或-p参数指定端口映射。

1)-P:docker随机映射一个/proc/sys/net/ipv4/ip_local_port_range中定义的端口范围作为一个本地端口,随后将这个本地端口映射到容器内部开放的网路端口。
//查看镜像文件 docker images
Docker基础命令使用_第26张图片
//使用-P创建容器并随机映射端口 docker run -d -P docker.io/tomcat
Docker基础命令使用_第27张图片
Docker基础命令使用

2)-p:指定需要映射的端口,并且一个指定端口上只可绑定一个容器。
//查看镜像文件 docker images
Docker基础命令使用_第28张图片
//使用-p创建容器并将容器60端口映射到192.168.152.159的60端口
docker run -d -p 192.168.152.159:60:60 docker.io/tomcat
Docker基础命令使用_第29张图片

3)创建并将容器90端口映射到192.168.152.159的任意端口
//查看镜像文件 docker images
Docker基础命令使用_第30张图片
//创建并将容器90端口映射到192.168.152.159的任意端口
docker run -d -p 192.168.152.159::90 docker.io/tomcat
Docker基础命令使用_第31张图片
注:以上截图为基本操作步骤,仅供参考!