4. 创建 Docker 容器
使用 docker create 命令可以创建容器,但是不启动此容器。手续可以通过 docker start 启动该容器。
docker create 命令
命令格式
docker create [选项] 镜像名[:标签]或镜像ID [命令] [参数...]
docker create 命令的选项和 docker run 命令的选项基本一致,但 docker create 没有 -d 选项,因为此容器并不运行。
示例
使用 docker create 创建 mysql 程序,然后使用 docker start 命令运行此容器。
weimingze@mzstudio:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
weimingze@mzstudio:~$ sudo docker create \
--name mysql_server \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=weimingze.com \
-v /home/weimingze/mysql_vol/data:/var/lib/mysql \
-v /home/weimingze/mysql_vol/logs:/var/log/mysql \
--restart=on-failure:2 \
mysql
04bc8f62cabb22ac69d1976079ed3358acf589ab97e5b05654723249063dde8f
weimingze@mzstudio:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
04bc8f62cabb mysql "docker-entrypoint.s…" 4 seconds ago Created mysql_server
weimingze@mzstudio:~$ sudo docker start mysql_server
mysql_server
weimingze@mzstudio:~$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
04bc8f62cabb mysql "docker-entrypoint.s…" 31 seconds ago Up 4 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql_server
weimingze@mzstudio:~$
当然使用 docker create 创建 mysql_server 容器时,容器的状态是 Created,然后使用 docker start 运行容器后,容器的状态变为 Up(运行状态)。