本帖最后由 Jack.Cheng 于 2022-8-2 09:55 编辑
以下是已发布连载的列表
第一回 | 入门
第二回 | 镜像命令
Docker里面通过运行镜像来生成容器,自然而然,咱们这个帖子就要继续容器相关命令的分享。
1、查看本地的容器
这个命令用于查看正在运行的容器(容器也有停止运行的) 查看本地所有容器。给docker ps命令加了个参数-a,即all,把运行的容器,停止的容器全部打印出来。
2、用镜像来创建容器
这里面有个核心命令叫run,我们先来看看它的各种参数
run
-i 当你用镜像创建完容器后,立刻运行这个容器
-t 当你用镜像创建完容器后,进入该容器的交互式命令行。因为镜像的底层是linux系统,都会有命令行和用户交互。所以你进入容器交互式命令行后,可以输入相关Linux指令来操作容器
--name 给创建的容器起一个名字,如果你不起名字的话,Docker会自己给它起个名字,但是那个名字不太好理解
-v 目录映射。Docker所在机器也叫做宿主机,这个命令可以把宿主机一个目录(就是一个文件夹路径)映射到容器里的一个目录(还记得前面我们说的吗,容器本身就是Linux系统),映射完成后,你往宿主机目录里面放个文件啥的,容器里面的对应目录也会有这个文件,反之亦然。
-d 守护式进程方式运行,你可以理解为后台运行。这个相比于-t,直观感受就是你命令执行完后不会直接进入容器里面,而是留在宿主机终端
-p 端口映射。把宿主机某个特定端口映射到Docker容器某个端口,可以相同端口映射,也可以不同端口映射。映射完成后,你可以通过访问宿主机某个端口,进而访问Docker容器映射的那个端口
学完run,下面我们可以看看怎么创建容器。创建容器有两种方式,交互式和守护式。
交互式创建容器命令如下:
- docker run -it --name=容器名 镜像名 /bin/bash
复制代码-it即-i和-t的简写形式,/bin/bash路径表示当你进入容器命令行后,会在这个目录下执行Linux命令。怎么退出交互式的容器命令行呢?使用exit命令即可。需要注意的是,当你使用这个命令后,容器会关闭掉。这也是-t参数的作用,交互式容器就是这样子咯
守护式创建容器命令如下:
- docker run -di --name=容器名 镜像名
复制代码 这个命令创建完后,容器会以后台服务形式运行。那么,我该怎么进入到容器里面来执行命令呢?
- docker exec -it 容器名 /bin/bash
复制代码
3、停止容器与目录挂载
停止一个运行中的容器
把宿主机的文件复制到容器里面去
- docker cp source target(容器名:目录)
复制代码cp是Linux系统的命令,表示拷贝文件,它会带两个参数,源目录,目标目录。因为我们的目标是容器里面的目录,所以这里有点特殊,我们通过容器名和目录地址来确定好目标目录。
把容器里的文件复制到宿主机,举个例子,我要把在创建一个名为myCentOS6的centos6容器,并把宿主机的/root/test目录挂载到容器的/root/soft目录,那么我可以这么写命令
- docker run --name myCentOS6 -di -v /root/test:/root/soft centos:6 /bin/bash
复制代码
4、查看容器信息,删除一个容器
查看容器的信息
/表示那个位置你既可以用容器名,也可以用容器ID,因为这两种都可以选择到容器
查容器IP地址
容器你可以理解为一台机器,它也有自己的IP地址。
- docker inspect --format='{{.NetworkSettings.IPAddress}}'
复制代码docker inspect查看的信息非常多,当你想到看到自己关注的某些信息时候,可以把--format参数带上。上面那个例子就是把docker容器信息中的网络设置中的IP地址字段抽取出来
删除容器
记得先停掉容器,再删除容器
|
|