第一阶段:基本篇\01.Docker基本概念和框架等\03.Docker容器

容器的基本操作

启动容器

docker run IMAGE [COMMAND] [ARG...]

run 在新容器中执行命令

docker run unbuntu echo "Hello world"

启动交互式容器

docker run -i -t IMAGE /bin/bash
-i –interactive=true false 默认是false
-t –tty=true false 默认是false

查看容器

docker ps [-a] [-l]
docker inspect id/name

自定义容器名

docker run --name=自定义名 -t -i IMAGE /bin/bash
docker run --name=container01 -t -i unbunt /bin/bash
docker ps -l

重新启动停止的容器

docker start [-i] ID/NAME
docker rm ID/NAME

PS:仅能删除停止的容器

守护式容器

什么是守护式容器

  • 能够长期运行
  • 没有交互式会话
  • 适合运行应用程序和服务

以守护形式运行容器

docker run -i -t IMAGE /bin/bash

Ctrl + P Ctrl + Q 组合键退出,不使用exit

重庆进入:

docker attach ID/NAME

docker ps 查看

启动守护式容器

docker run -d IMAGE [COMMAND] [ARG...]
docker run --name dc1 -d unbunt /bin/sh -c "while true; do echo hello world; sleep 1; done"

查看容器日志

docker logs [-f] [-t] [-tail] 容器名

-f –follows=true | false 默认为false -t –timestamps=true | false默认为false –tail=”all”

docker logs -tf --tail 10 dc1

查看容器中的进程

docker top dc1

在运行的容器中启动新进程

docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]
docker exec -i -t dc1 /bin/bash
docker top dc1

停止守护式容器

docker stop 容器名 ## 发送终止信号,等待停止
docker kill 容器名 ## 直接kill

使用Docker帮助文件

man docker-run
man docker-logs
man docker-top
man docker-exec

在容器中部署静态网站

设置容器的端口映射

run [-P] [-p] -P,–publish-all=true|false 默认为false docker run -P -i -t ubuntu /bin/bash

-p –publish=[] containerport docker run -p 80 -i -t ubuntu /bin/bash # 宿主机端口随机映射

hostPort:containerPort docker run -p 8080:8080 -i -t ubuntu /bin/bash # 宿主机端口与容器端口意义映射

ip::containerPort docker run -p 0000:80 -i -t ubuntu /bin/bash # 指定容器端口

ip:hostPort:containerPort docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash # 指定host ip + 端口和容器端口

docker port 容器名 # 查看端口映射情况
docker exec web nginx
docker top web

PS:停止容器并重新启动是,IP映射会发生变化

启动应用

docker run -p 80 –name web -i -t ubuntu /bin/bash

apt-get install nginx