docker create 命令用于创建一个新的容器。
用法
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
docker create命令在指定的映像上创建一个可写容器层,并准备它运行指定的命令。 然后将容器ID打印到STDOUT。 这除了容器从不启动,与docker run -d
类似。可以使用docker start <container_id>
命令在任何时候启动容器。
当您想要提前设置容器配置,以便在需要时可以启动时,这就很有用。新容器的初始状态是:created
。
示例
创建并启动一个容器
$ docker create -t -i fedora bash
6d8af538ec541dd581ebc2a24153a28329acb5268abe5ef868c1f1a261221752
$ docker start -a -i 6d8af538ec5
bash-4.2#
初始化卷
从v1.4.0开始,在Docker创建阶段初始化容器卷(即停靠点运行)。 例如,这允许您创建数据卷容器,然后从另一个容器中使用它:
$ docker create -v /data --name data ubuntu
240633dfbb98128fa77473d3d9018f6123b99c454b3251427ae190a7d951ad57
$ docker run --rm --volumes-from data ubuntu ls -la /data
total 8
drwxr-xr-x 2 root root 4096 Dec 5 04:10 .
drwxr-xr-x 48 root root 4096 Dec 5 04:11 ..
同样,创建一个主机目录绑定的卷容器,然后可以从后续的容器中使用它:
$ docker create -v /home/docker:/docker --name docker ubuntu
9aa88c08f319cd1e4515c3c46b0de7cc9aa75e878357b1e96f91e2c773029f03
$ docker run --rm --volumes-from docker ubuntu ls -la /docker
total 20
drwxr-sr-x 5 1000 staff 180 Dec 5 04:00 .
drwxr-xr-x 48 root root 4096 Dec 5 04:13 ..
-rw-rw-r-- 1 1000 staff 3833 Dec 5 04:01 .ash_history
-rw-r--r-- 1 1000 staff 446 Nov 28 11:51 .ashrc
-rw-r--r-- 1 1000 staff 25 Dec 5 04:00 .gitconfig
drwxr-sr-x 3 1000 staff 60 Dec 1 03:28 .local
-rw-r--r-- 1 1000 staff 920 Nov 28 11:51 .profile
drwx--S--- 2 1000 staff 460 Dec 5 00:51 .ssh
drwxr-xr-x 32 1000 staff 1140 Dec 5 04:01 docker
为每个容器设置存储驱动程序选项。
$ docker create -it --storage-opt size=120G fedora /bin/bash