dockers介绍
与虚拟机通过操作系统实现隔离不同,容器技术只隔离应用程序的运行时环境但容器之间可以共享同一个操作系统,这里的运行时环境指的是程序运行依赖的各种库以及配置。容器相较于虚拟机更加的轻量级且占用的资源更少,docker是容器技术的一种实现。
如何使用docker
docker中有这样几个概念:
- dockerfile
- image
- container
可以简单的把image理解为可执行程序,container就是运行起来的进程。
那么写程序需要源代码,那么“写”image就需要dockerfile,dockerfile就是image的源代码,docker就是"编译器"。
因此我们只需要在dockerfile中指定需要哪些程序、依赖什么样的配置,之后把dockerfile交给“编译器”docker进行“编译”,也就是docker build命令,生成的可执行程序就是image,之后就可以运行这个image了,这就是docker run命令,image运行起来后就是docker container。
推荐教程
最简安装指令
# 使用curl工具下载脚本自动安装
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
# 启动Docker
sudo systemctl enable docker
sudo systemctl start docker
# 测试是否安装成功
sudo docker run --rm hello-world
常用的操作指令
docker search 镜像名
从官网上搜索镜像docker pull 镜像名
下载镜像docker image ls
查看所有本地主机上的镜像
docker run
新建容器并启动docker exec 命令
在容器中执行命令
docker ps
列出所有运行的容器docker start 容器id
启动容器docker stop容器id
停止当前正在运行的容器docker rm 容器id
删除指定容器
exit
#容器直接退出ctrl +P +Q
#容器不停止退出 —注意:这个很有用的操作
docker cp 容器id:容器内路径 主机目的路径
从容器内拷贝到主机上
例子:docker run -idt --name ssr -p 20000:20000 yinqishuo/ssr:0.01 /bin/bash
将yinqishuo/ssr镜像下载下来并运行命名为ssr,容器内端口20000映射到主机端口20000 ,并运行shell程序。-idt代表运行命令行且后台运行docker exec -itd ssr /bin/bash
进入ssr容器内部
指令:
#info|version
docker info #显示docker的系统信息,包括镜像和容器的数量
docker version #显示docker的版本信息。
#帮助命令
docker 命令 --help #帮助命令
#镜像命令
docker images #查看所有本地主机上的镜像 可以使用docker image ls代替
docker search #搜索镜像
docker pull #下载镜像 docker image pull
docker rmi #删除镜像 docker image rm
#容器命令
docker run 镜像id #新建容器并启动
docker ps 列出所有运行的容器 docker container list
docker rm 容器id #删除指定容器
#删除所有容器
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 #强制停止当前容器
#退出容器
exit #容器直接退出
ctrl +P +Q #容器不停止退出 ---注意:这个很有用的操作
#其他常用命令
docker run -d 镜像名 #后台启动命令
docker logs #查看日志
docker top 容器id #查看容器中进程信息ps
docker inspect 容器id #查看镜像的元数据
docker exec #进入当前容器后开启一个新的终端,可以在里面操作。(常用)
docker attach # 进入容器正在执行的终端
docker cp 容器id:容器内路径 主机目的路径 #从容器内拷贝到主机上