docker容器的基本操作
启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
- 示例:docker run alpine echo ‘hello world’
- 启动交互式容器:docker run -i -t IMAGE /bin/bash
-i
:–interactive=true | false 默认是false-t
:–tty=true | flase 默认是false
查看容器
docker ps
- 查看容器的详细信息:
docker inspect IMAGE
重新启动停止的容器
docker start IMAGE
删除停止的容器
docker rm IMAGE
守护式容器
- 什么是守护式容器:
- 能够长期运行
- 没有交互式会话
- 适合运行应用程序和服务
- 以守护形式运行容器:
docker run -i -t IMAGE /bin/bash
- Ctrl+P + Ctrl+Q 退出交互式容器,容器将会在后台运行
- 附加到运行中的容器:
docker attach 容器名
- 启动守护式容器:
docker run -d 镜像名 [COMMAND] [ARG...]
,-d
参数实际是在后台运行命令,当命令运行结束后,容器依旧会退出
- 查看容器日志:
docker logs [-f] [-t] [--tail] 容器名
-f
:–follows=true | false 默认为false,追踪日志-t
:–timestamps=true | false 默认为false,加上时间戳--tail
:=“all”,指定返回结尾处多少数量的日志,如果不指定即docker logs 容器名
返回所有日志,
- 示例:
docker logs -tf --tail=10 dc1
,实时显示容器dc1最新的10条日志记录并不断更新。当--tail=0
时就显示最新的日志记录
- 查看容器内进程:
docker top 容器名
- 在运行的容器内启动新进程:
docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG..]
- 停止守护式容器:
docker stop 容器名
:发送停止命令,等待容器停止docker kill 容器名
:直接停止容器
使用Docker帮助文档
- docker --help
- man docker-run
- man docker-logs
- man docker-top
- man docker-exec
使用Docker部署静态网站
-
设置容器的端口映射:
docker run [-P] [-p]
-P
:- -publish=all,容器的所有端口都进行映射-p
:- -publish=[]- containerPort,容器端口随机映射
docker run -p 80 -i -t ubuntu /bin/bash
- hostPort:containerPort,容器端口与指定主机端口一一对应
docker run -p 8080:80 -i -t ubuntu /bin/bash
- ip::containerPort,指定ip与映射端口
docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
- ip:hostPort:containerPort,指定ip与主机端口和容器端口进行一一对应
docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
- containerPort,容器端口随机映射
-
Nginx部署流程:
- 创建映射80端口的交互式容器
docker run -p 8080:80 --name=web ubuntu
- 安装Nginx
docker attach web
apt-get update
apt-get install -y nginx
- 安装文本编辑器vim
apt-get install -y vim
- 创建静态页面
mkdir -p /var/www/html
cd /var/www/html
vim index.html
- 修改Nginx配置文件
whereis nginx
cd sites-enabled/
vim default
- 运行Nginx
nginx
ps -ef
- 验证网站访问
curl http://127.0.0.1:8080
- 创建映射80端口的交互式容器