1,根据一个镜像创建一个容器,以linux镜像为例
docker run -d -it --name=mycentos <镜像名称> -p 主机端口:容器端口 bash
- `docker run`:用于启动一个新的 Docker 容器。
- `-d`:表示以守护式(后台)模式运行容器,容器在后台运行,不会占用当前终端。
- `-it`是两个命令的结合
- `-i` 表示以交互模式运行容器,即使在后台运行,也允许您与容器进行交互。
- `-t` 为容器分配一个伪终端(tty)。
- `--name=mycentos`:为正在创建的容器指定一个名称,这里命名为 `mycentos`,方便后续对该容器进行管理和操作。
- `<镜像名称>`:指定要基于哪个镜像来创建容器。
- `-p 主机端口:容器端口`:用于设置端口映射,将主机的指定端口与容器内的指定端口进行映射,使外部可以通过主机的端口访问容器内的服务。
- `bash`:指定在容器启动后要运行的默认命令为 `bash`,即打开一个 Bash 终端。
综上所述,这个命令会基于指定的镜像创建一个名为 `mycentos` 的容器,并在后台以交互模式运行,同时设置了端口映射,容器启动后会打开一个 Bash 终端。
2,查看正在运行的容器
docker ps
后面'-a',可以查看所有容器,无论它是否正在运行。
3,进入正在运行的容器。
docker exec -it <容器名> bash
使用 docker attach 也可以进入正在运行的容器终端,与exec 会新建一个终端不同,使用attach进入,退出后容器也将停止运行。
4,复制容器中的文件到主机
我在容器内部创建了一个文件,现在我需要把这个文件夹拷贝到主机指定位置。
docker cp <容器名>:[需要拷贝的文件夹路径] [主机路径]
因为我把dokcer安装在windows上,因此主机路径是windows格式,如果是在linux主机上,则使用linux文件路径。
5,将容器导出,为它做一个备份
Docker 中将一个 Linux 系统导出为文件,通常是以 .tar 格式导出的。
docker export <容器名> > 主机位置
将导出的容器,重新生成一个镜像
docker import [导出镜像的位置] [生成镜像的名字]
使用这个镜像创建的容器,里面的内容和导出前的容器一致。