docker基础学习
基础命令
1、验证安装是否成功
docker version
docker info
2、启动docker服务
sudo service docker start
或者
sudo systemctl start docker
3、列出本机所有的image文件
docker image ls
4、删除image文件
docker image rm [imageName]
5、从仓库抓取image到本地
docker image pull library/hello-world
6、运行image文件
docker container run hello-world
7、终止容器
docker container kill [containID]
8、列出正在运行的容器
docker container ls
9、列出本机所有的容器,包括未启动的
docker container ls -all
10、删除容器文件
docker container rm [containID]
image文件
image 文件
docker把应用程序及其依赖,打包在image文件里面。只有通过这个文件,才能生成
docker容器。image可以看作是容器的模板。docker根据image生成容器的实例。同一个image
文件,可以生成多个同时运行的容器实例。
image文件是二进制文件。实际开发中,image文件往往通过继承 另一个image文件,加
上一些个性化设置而成。例如:可以在ubuntu的image基础上,加上apache服务器,形成自己
的image
image 文件是通用的,一台机器的image文件拷贝到另一台服务器,照样可以使用。一般
来说,为了节省时间,尽量使用别人制作好的image文件。即使要定制,也是在别人的基础上加
工。
容器文件
由image文件生成的容器实例,本身也是一个文件,成为容器文件。也就是说,一旦容器生成,
就会存在两个文件,一个image文件一个容器文件。而且关闭容器并不会删除容器文件,知会停
止容器的运行。
Dockerfile文件
如何生成DockerFile 文件?它是一个文本文件,用来配置image。docker 根据该配置文件
生成image
docker 需要用户具有sudo权限,为了避免每次命令都输入sudo,可以把用户加入Docker用户组
命令:
sudo usermod -aG docker $USER
命令解释:
1、sudo 是super user do 的缩写,表示以超级用户的权限来执行后续的命令
2、usermod 是Linux中的用户管理命令,用来修改系统中现有的用户属性,修改用户密
码、用户组、登录shell等
3、-aG
-a:表示append 附加追加。用于确保将用户添加到用户组时,保留用户已有的组成
员资格。而不会覆盖现有的组成员信息
-G:表示group,即用户组。-G选项后跟的时目标用户组,告诉系统将用户添加到指
定的用户组中
4、docker 目标用户组的名称,在系统安装docker时,会创建一个名为docker的用户组。
将用户加入该组后,用户可以在没有管理员权限的情况下,执行docker命令
5、$USER 是一个环境变量,代码当前正在使用的终端的用户名,系统会自动将这个变量替
换位实际的用户名
命令解释:
docker image pull library/hello-world
1、docker image pull 是抓取image 的命令
2、library/hello-world 是image文件在仓库的位置,library是文件所在的组,hello-world是image的名字官方提供的image文件,都放在library组中,它是默认组,可以省略,因为命令可以简化为:docker image pull hello-world
命令解释:
docker container run hello-world
1、docker container run 命令会从image文件,生成一个正在运行的容器实例
注意:
docker container run 命令具有自动抓取image文件的功能,如果在本地没有找到image
文件,会从仓库中自动抓取。所以,docker image pull 就不是必要的命令
2、如果运行成功,你会在屏幕上读到下面的输出。有些容器不会自动终止,因为提供的是服务。比如,安装运行 Ubuntu 的 image,就可以在命令行体验 Ubuntu 系统。对于不会自动终止的容器,必须使用docker container kill命令手动终止
命令:docker container run -it ubuntu bash
命令解释:
docker container run -it ubuntu bash
1、docker container run 命令用于创建并启动一个容器。结合了docker container create 与 docker container start 的功能
2、-it 这两个选项分别是 -I 和 -t 通常一起使用,用于启动一个交互式的容器 -i表示交互模式。这个选项保持容器的标准输入stdin ,以便于容器进行交互,比如通过bash shell命令-t表示伪终端。这个选项分配一个虚拟终端,使得可以获得像在普通终端一样的交互体验。
3、ubuntu 容器使用镜像的名称
4、bash 在容器中运行命令。在这个例子中,指定的是ubuntu系统中的shell 将在启动的
容器中运行,意味着启动容器之后直接进入shell ,允许以交互的方式运行
1、docker container start
docker container run 命令是新建一个容器,每执行一次就会创建一个容器。如果希望使用重复的容器,则使用start命令
2、docker container stop
之前的kill命令,也可以终止容器的运行。区别,kill命令会强行立即终止,哪些正在进行中的操作会全部丢失。而stop会等这些正在进行的操作,完成之后再进行终止
3、docker container logs
docker container logs 命令用于查看docker 容器的输出。即容器中shell的标准输出。使用docker run 命令运行容器,没有添加-it 参数的时候,就需要使用logs查看输出的内容
4、docker container exec
docker container exec 用于进去一个正在运行的容器。如果docker run 命令运行容器的时候,没有使用-it参数,就要使用exec进入容器
5、docker container cp
cp命令用于从正在运行docker里面,将文件拷贝到本机。