Linux下Docker与Docker镜像的常用命令
一、Docker服务
二、Docker镜像
一、Docker服务
1.启动Docker服务
sudo systemctl start docker
2.重启docker
sudo systemctl restart docker
3.关闭docker
sudo systemctl stop docker
4.查看版本信息
docker -v
二、Docker镜像
1.列出镜像
sudo docker images
2.查看镜像运行状态
sudo docker ps [OPTIONS]
OPTIONS说明:
-a :显示所有的容器,包括未运行的
-f :根据条件过滤显示的内容
--format :指定返回值的模板文件
-l :显示最近创建的容器
-n :列出最近创建的n个容器
--no-trunc :不截断输出
-q :静默模式,只显示容器编号
-s :显示总的文件大小
实例:sudo docker ps -a
2.创建新容器并运行
sudo docker run [OPTIONS] IMAGE [CMD] [arg...]
OPTIONS参数说明
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项
-d: 后台运行容器,并返回容器ID
-i: 以交互模式运行容器,通常与 -t 同时使用
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
--name="nginx-lb": 为容器指定一个名称
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致
-h "mars": 指定容器的hostname
-e username="ritchie": 设置环境变量
--env-file=[]: 从指定文件读入环境变量
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行
-m :设置容器使用内存最大值
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型
--link=[]: 添加链接到另一个容器
--expose=[]: 开放一个端口或一组端口
--volume , -v: 绑定一个卷
实例:
docker run -it -v ~/SecBoot:/media --name secboot ubuntu:secboot_v2
3.运行容器
sudo docker start 容器ID或容器名
4.重启容器
sudo docker restart 容器ID或容器名
5.停止容器
sudo docker stop 容器ID或容器名
6.删除容器
sudo docker rm 容器ID或容器名
7.强制停止容器
sudo docker kill 容器ID或容器名
8.容器的退出
(1)停止并退出:exit
(2)不停止退出:Ctrl+P+Q
9.以命令行进入容器
sudo docker exec -it 容器ID或容器名 bash
sudo docker attach 容器ID或容器名
二者的区别:
1.exec是在容器中打开新的终端,并且可以启动新的进程
exec打开容器终端,exit容器后,容器会保持后台运行
2.attach是直接进入容器启动命令的终端,不会启动新的进程
attach进入容器终端后,exit后容器会直接关闭