掌握Docker:从运行到挂载的全面指南
目录
- 1. Docker的运行
- 2. 查看Docker的启动日志
- 3. 停止容器
- 4. 容器的启动
- 5. 删除容器
- 6. 查看容器的详细信息
- 7.一条命令关闭所有容器
- 拓展
- 容器的复制(修改数据不会同步)
- 容器的挂载(修改数据可以同步)
- 挂载到现有容器
1. Docker的运行
docker run -it 容器名字/容器id
示例:
说明:
docker run -it 中的 -i 和 -t 分别代表什么?
-
-i 参数
-i 参数代表 --interactive,它用于保持标准输入(stdin)打开,即使没有附加到终端。这使得容器可以与用户进行交互,允许用户通过命令行输入数据或命令。 -
-t 参数
-t 参数代表 --tty,它用于分配一个伪终端(pseudo-TTY)。这使得容器的输出看起来像是在一个终端中运行,通常与 -i 参数一起使用,以便在交互式会话中提供更好的用户体验。
通常会写作 -it 。
如何退出终端? exit
即可退出当前的交互面板。
docker run -itd centos:7
-d 选项表示以“分离模式”(detached mode)运行容器。将容器作为守护进程运行。这意味着容器将在后台运行,而不会占用当前的终端会话。
此时查看docker ps
就可以展示出当前正在运行的容器了。
如果想要退出分离模式,进入可互动模式可以使用下面的命令:
docker exec -it mycentos /bin/bash
值得注意的是如果我们在启动的时候没有指定centos的版本,那么默认docker会选择最新的,没有最新的镜像则会去下载。(centos[:latest])
2. 查看Docker的启动日志
docker ps
查看当前正在运行的docker容器
docker ps -a
显示所有容器,包括正在运行的和已停止的。
3. 停止容器
docker stop 容器id
示例:
小技巧:
为了关闭容器方便,那么我们在启动的时候可以根据参数name进行启动,停止容器的时候可以采用name进行指定停止。
docker run -itd --name=mycentos centos:7
停止容器:docker stop mycentos
小技巧的效果展示:
4. 容器的启动
docker start mycentos
启动
docker restart mycentos
重启
5. 删除容器
docker rm 容器id ...
可以删除多个容器id,'…‘代表多个容器id
该命令无法删除正在运行中的容器。
如果加上’-f’参数即可删除正在运行的容器。
docker rm -f 容器id
示例:
6. 查看容器的详细信息
docker inspect 容器id/name
7.一条命令关闭所有容器
docker stop $(docker ps -a -q)
示例:
拓展
有些linux命令可以学一学
pwd
查看当前所在的目录
cat >123.txt
可以新建一个txt文件并且在控制台往里面输入内容。
cat >123.txt 命令的作用是将标准输入(通常是键盘输入)的内容写入到 123.txt 文件中。如果 123.txt 文件已经存在,> 会覆盖该文件的内容;如果文件不存在,则会创建一个新文件。
>>:将输出追加到文件末尾,而不是覆盖文件内容。
容器的复制(修改数据不会同步)
docker cp 宿主机本地路径 容器名字/ID:容器路径
(冒号后面不能有空格)
可以看到已经成功的导入进去了:
容器复制到宿主机的命令刚好相反:
docker cp 容器名字/ID:容器路径 宿主机本地路径
注意这两个docker cp
命令都是在安装docker的unbuntu操作系统中实现的。
容器的挂载(修改数据可以同步)
宿主机文件夹挂载到容器里:
docker run -itd -v 宿主机路径:容器路径 镜像ID
-v 参数用于将宿主机的目录或文件挂载到容器中,实现宿主机与容器之间的数据共享。
挂载到现有容器
在 Docker 中,可以通过
docker run
命令在启动容器时挂载卷,也可以在容器运行后通过docker exec
命令在现有容器中挂载卷。例如:docker run -v /host/path:/container/path my_image
这条命令会在启动容器时将主机上的
/host/path
目录挂载到容器内的/container/path
目录。