咬定青山不放松,立根原在破岩中!
ECRZ 记录美好事物。
Docker入门手册
- 镜像
- 容器
- 仓库
- 补充说明
1.镜像
- 列出本地镜像列表
docker images
- 拉取镜像
docker pull [imagesName]
docker pull ubuntu:15.10
- 删除镜像
docker rmi [imagesName:Version]
docker rmi ubuntu:15.10
- 查找镜像
docker search [imagesName]
docker search ubuntu
- 更新镜像
1.使用镜像创建一个容器
docker run -it [imagesName:Version] /bin/bash
docker run -it ubuntu:15.10 /bin/bash
2.进入容器中输入更新命令(以Ubuntu为例)
apt-get update
3.退出容器
exit
- 提交镜像到本地使用
docker commit -m="description" -a="author" [imageID] [imageName:Version]
docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
- Dockerfile 构建镜像
1.创建Dockerfile文件
vim Dockerfile
FROM centos:6.7
MAINTAINER ECRZ "himing4@163.com"
RUN /bin/echo 'root:123456' |chpasswd
RUN useradd test
RUN /bin/echo 'test:123456' |chpasswd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/dafault/local
EXPOSE 22
EXPOSE 80
CMD /usr/sbin/sshd -D
FROM:镜像,MAINTAINER:维护人员,RUN:创建镜像后需要执行的命令【依次执行】
2.构建镜像
docker build -t [imagesName:Version] .
docker build -t ming/centos:6.7 .
注意:Dockerfile文件内的每个指令都要大写
3.设置镜像标签
docker tag ImageID Tag
docker tag 368b5b411d94 ecrz/centos:dev
2.容器
- 查看容器
1.只查看在线的容器
docker ps
2.查看全部容器
docker ps -a
- 使用镜像创建容器
docker run -it [imageName] [command]
docker run -it ubuntu /bin/bash
-i: 交互式操作,-t: 终端 ,使用ubuntu创建容器后,执行/bin/bash
- 启动容器
docker start [container ID]
docker start b750bbbcfd88
- 停止容器
docker stop [container ID]
docker stop b750bbbcfd88
- 后台启动容器
docker run -itd --name [alias] [imageName] [command]
docker run -itd --name ubuntu-test ubuntu /bin/bash
-d 指定运行模式为:后台运行,–name为:指定别名
- 重启容器
docker restart [container ID]
docker restart b750bbbcfd88
- 进入容器
docker attach [container ID]
docker attach 243c32535da7
docker exec -it [container ID] [command]
docker exec -it 243c32535da7 /bin/bash
提示:exec进入容器后执行exit后不会让容器停止工作
- 导出容器
docker export [container ID] > [packageName]
docker export 1e560fca3906 > ubuntu.tar
- 将容器导入为镜像
cat [packageName] | docker import - [imageName:Version]
cat ubuntu.tar | docker import - ubuntu:v1
- 删除容器
docker rm -f [container ID]
docker rm -f 1e560fca3906
删除容器时,容器必须是停止状态
- 删除所有处于终止状态的容器
docker container prune
- 容器端口映射
docker run -d -P [imageName] [command]
docker run -d -P training/webapp python app.py
docker run -d -p [port]:[port] [imageName] [command]
docker run -d -p 5000:5000 training/webapp python app.py
**-P:**将容器内部使用的网络端口随机映射到我们使用的主机上。,-p将容器内部的端口映射到我们本地主机的端口上。
docker port [container ID]
docker port 99b2a7c48843
查询容器端口
docker logs -f [container ID]
docker logs -f bf08b7f2cd89
查看 WEB 应用程序日志,-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出。
docker top [container Name] | [container ID]
docker top sleepy_albattani
查看WEB应用程序容器的进程,可以输入容器的id或name进行查询
docker inspect [container Name] | [container ID]
docker inspect sleepy_albattani
检查 WEB 应用程序的配置,可以输入容器的id或name进行查询,最终会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。
3.仓库
- docker hub(存储镜像的仓库)
https://hub.docker.com/