1、创建的容器未启动
$ docker create image$ docker commit –m “Added a new file” –a “Docker Newbee” a925cb40b3f0 test
OPTIONS说明(常用):
-
- -a, --author=”” 作者信息
- -m, --message=”” 提交消息
- -p, --pause=true 提交时暂停容器运行
2、新建并启动容器
$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]$ docker run -d -p 2222:22 --name base csphere/centos:7.1
OPTIONS说明(常用):
-
- -d: 后台运行容器,并返回容器ID;
- --name="nginx-lb": 为容器指定一个名称;
- -i:以交互模式运行容器,通常与 -t 同时使用;
- -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
- -v: 对外挂在目录,将mysql数据持久化到本地,如/mysql/data:/var/lib/mysql
- --restart: 设置自动启动,如--restart=always
- -e:启动成功后可以在外部直接访问,给容器传环境变量
- -P: 随机端口映射;如 2222:22,2222是随机生成的端口号,可通过2222访问容器
- -p: 指定端口映射,有以下四种格式
-
- ip:hostPort:containerPort
- ip::containerPort
- hostPort:containerPort
- containerPort
如 2222:22,2222是指定的端口号,可通过2222访问容器
-
- --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型;
# 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。docker run --name mynginx -d nginx:latest# 使用镜像nginx:latest以后台模式启动一个容器,将容器的80端口映射到主机的91端口,主机的目录/data映射到容器的/data。docker run -p 91:80 -v /data:/data -d nginx:latest# 使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。[root@localhost docker]$ docker run -it nginx:latest /bin/bashroot@b8573233d675:/#
3、查看容器
$ docker ps [OPTIONS]
OPTIONS说明(常用):
-
- -a :显示所有的容器,包括未运行的。
- -f :根据条件过滤显示的内容。
- --format :指定返回值的模板文件。
- -l :显示最近创建的容器。
- -n :列出最近创建的n个容器。
- --no-trunc :不截断输出。
- -q :静默模式,只显示容器编号。
- -s :显示总的文件大小。
4、停止容器
$ docker stop CONTAINER_ID/CONTAIN_NAME$ docker stop fdffd
5、强制停止容器
$ docker kill CONTAINER_ID/CONTAIN_NAME
6、启动已停止容器
$ docker start CONTAINER_ID/CONTAIN_NAME$ docker start/stop container_id
7、重启容器
$ docker restart CONTAINER_ID/CONTAIN_NAME
8、进入容器
$ docker exec -it CONTAINER_ID/CONTAIN_NAME bin/bash
9、删除容器
$ docker rm [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS说明(常用):
-
- -f :通过SIGKILL信号强制删除一个运行中的容器
- -l :移除容器间的网络连接,而非容器本身
- -v :-v 删除与容器关联的卷
$ docker rm fdffd
10、复制容器里的内容
$ docker cp 容器名称:目录 复制到的目录例:docker cp maven:/hello/target/hello.war .
11、查看容器的ip地址
$ docker inspect -f '{{ .NetworkSettings.IPAddress }}' 容器id
12、获取容器/镜像的元数据
$ docker inspect 容器id
13、查看容器内运行情况
$ supervisorctl