在新容器中执行命令
docker run IMAGE [COMMAND] [ARG…]
run 在新容器中执行命令(只执行一次命令)
docker run ubuntu echo 'Hello World'
启动交互式容器
docker run -i -t IMAGE /bin/bash
-I --interactive=true|false 默认是false 始终打开标准输入
-t --tty=true|false 默认是false 打开一个终端
docker run -t -i ubuntu /bin/bash
查看容器
docker ps [-a] [-l]
-a所有 -l最近
CONTAINER ID:Docker的守护进程在启动容器时分配的唯一ID
NAMES:启动时自动分配的名字
docker inspect
自定义容器名
docker run --name=自定义名 -i -t IMAGE /bin/bash
docker run --name=practice_01 -i -t ubuntu /bin/bash
重新启动停止的容器
docker start [-i] 容器名
-i是以交互的形式
将容器删除的命令
docker rm 容器名
用来删除已经停止的容器
docker rm 3229bdbc
守护式容器
能够运行、没有交互式回话、适合运行应用程序和服务
以守护形式运行容器
docker run -i -t IMAGE /bin/bash
Ctrl+P Ctrl+Q
docker run -i -t ubuntu /bin/bash
附加到运行中的程序
docker attach 容器名
启动守护式程序
docker run -d 镜像名 [COMMAND] [ARG…]
使用后台的方式执行
docker run --name=dc1 -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
查看容器日志
docker logs [-f] [-t] [--tail] 容器名
-f一直跟踪日志的变化并返回结果
-t返回的结果加上时间戳
--tail返回多少数量的日志不指定为所有
gyy@gyy-virtual-ubuntu:~$ docker logs -tf --tail 0 dc1
2019-02-14T02:01:24.443735322Z hello world
2019-02-14T02:01:25.445418796Z hello world
2019-02-14T02:01:26.447745989Z hello world
2019-02-14T02:01:27.448465477Z hello world
2019-02-14T02:01:28.450626178Z hello world
2019-02-14T02:01:29.452951182Z hello world
2019-02-14T02:01:30.455097360Z hello world
查看容器内的进程
docker top 容器名
在运行中的容器中启动新进程
docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG…]
停止守护式容器
docker stop 容器名
发送信号给容器等待停止
运行后会等待一段时间,停止后返回容器名
docker kill 容器名
直接停止容器
马上停止
在容器中部署静态网站
设置容器的端口映射
run [-P] [-p]
P映射所有 p指定端口
Nginx部署流程
apt-get update
apt-get install nginx
apt-get install vim
nginx