一、容器的基本操作
启动容器
docker run IMAGE [COMMAND] [ARG…]
run 在新容器中执行命令
举例:docker run ubuntu echo ‘Helow World’
启动交互式容器
docker run -i -t IMAGE /bin/bash
举例:
docker run -i -t ubuntu /bin/bash
ps -ef
exit
查看容器
docker ps [-a] [-l]
docker inspect
查看所有容器:docker ps -a
查看最新创建容器:docker ps -l
查看容器详细信息:docker inspect [容器id或name]
自定义容器名
docker run --name=自定义名 -i -t IMAGE /bin/bash
举例:
docker run --name=container01 -i -t ubuntu /bin/bash
重新启动停止的容器
docker start [-i] 容器名
删除停止的容器
docker rm 容器名
二、守护式容器
什么是守护式容器
能够长期运行
没有交互式会话
适合运行应用程序和服务
以守护式形式运行容器
docker run -i -t IMAGE /bin/bash
Ctrl+P+Q退出守护式容器
附加到运行中的容器(退出后重新进入守护式容器)
docker attach 容器名
exit退出并关闭容器
启动容器,使用后台方式执行命令
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:返回结尾处多少数据,不指定显示所用
举例:docker logs -tf --tail 10 dc1
在运行中的容器内启动新进程
docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG…]
举例:
docker exec -i -t dc1 /bin/bash
docker top dc1
查看容器中的进程:docker top
docker top dc1
停止守护式容器
docker stop 容器名
docker kill 容器名
三、在容器中部署静态网站
设置容器的端口映射
run [-P] [-p]
-P:容器暴露的所有端口映射
docker run -P -i -t ubuntu /bin/bash
-p:指定映射那些容器的端口
containerPort
docker run -p 80 -i -t ubuntu /bin/bash
hostPort:containerPort
docker run -p 8080:80 -i -t ubuntu /bin/bash
ip::containerPort
docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
ip:hostPort:containerPort
docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
Nignx部署流程
- 创建映射80端口的交互式容器
docker run -p 80 --name web -i -t ubuntu /bin/bash
- 安装nginx
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
ls /etc/nginx
ls /etc/nginx/site-enabled
vim /etc/nginx/site-enabled/default
- 运行nginx
cd /
nginx
ps -ef
- 验证网站访问
查看端口映射情况
docker port web
查看进程运行情况
docker top web
查看容器ip地址
docker inspect web
curl http://127.0.0.1:32768
重新启动容器
docker stop web
docker start -i web
ps -ef
docker exec web nginx
docker top web