Docker简介:
两个口号:
Build, Ship and Run
Build once,Run anywhere
- Docker诞生于2013年年初,是dotcloudf公司最初发起的,开源之后逐渐形成了围绕Docker容器的完整生态体系。
- Docker是容器技术中的一种,目前比较流行。
- 容器内运行着不同的应用,不同的容器相互隔离,容器之间可以通过网络互相通信。
Docker的三大核心概念:
- 镜像:一个镜像可以包含一个基本的操作系统环境,里面只安装了必须的应用。
- 容器:docker利用容器来运行和隔离应用。
- 仓库:集中存放镜像文件的场所。
1、在仓库查找、拉取镜像
docker search ubuntu:18.04
docker pull ubuntu:18.04
2、启动容器
①通过镜像启动一个容器,在容器内打印王子老师最帅,退出
docker run -it ubuntu:18.04 bash
echo "王子老师最帅"
exit
②先创建,然后启动(先创建的容器处于停止状态)
docker create -it ubuntu:18.04
docker ps -a
docker start
3、查看所有镜像
docker images / docker image ls
4、给镜像打一个新的tag
docker tag ubuntu:18.04 wangzi_ubuntu:1223
5、查看镜像的详细信息
docker inspect wangzi_ubuntu:1223
6、查看镜像的历史,可以列出各层的创建信息
docker history wangzi_ubuntu:1223 --no-trunc
7、删除镜像
docker rmi 镜像名字
强制删除存在容器依赖的镜像
docker rmi -f 镜像id
删除所有无用镜像
docker image prune -a
强制删除镜像,不提醒
docker image prune -f
8、通过已有容器创建镜像,创建的镜像没有名字,可以手动通过打tag的方式创建
该容器id是fbf13859785d
,提交新的镜像,-a表示作者信息,wangzi_1224:v1表示镜像信息
docker commit -m "add a new image" -a "wangzi" fbf13859785d wangzi_1224:V1
9、导出镜像至本地
docker save -o wangzi_ubuntu.tar wangzi_ubuntu:1224
载入镜像
docker load -i wangzi_ubuntu.tar
docker load < wangzi_ubuntu.tar
10、上传镜像
docker push wangzi_ubuntu:1224
11、为了避免每次命令都输入sudo,可以设置用户权限,注意执行后须注销重新登录
sudo usermod -a -G docker $USER
启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
12、运行docker镜像
name自定义容器名,-p指定端口映射,前者为虚拟机端口,后者为容器端口,成功后返回id
查看所有启动的容器(查看所有容器加 -a)
docker run -dti --name ubuntu_test -p 8088:8088 ubuntu
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell
13、进入 容器 ubuntu
①docker exec -it id号 /bin/bash
②docker attach ceshi1
14、查看版本
cat /etc/issue
15、docker 操作
启动docker
sudo service docker start
停止docker
sudo service docker stop
重启docker
sudo service docker restart
16、容器操作(一)
停止一个已经在运行的容器
docker stop 容器名或容器id
启动一个已经停止的容器
docker start 容器名或容器id
kill掉一个已经在运行的容器
docker container kill 容器名或容器id
16、容器操作(二)
docker pause container_id/name
恢复暂停的容器
docker unpause...
17、清理所有停止状态的容器
docker container prune
18、删除容器
docker rm -f 310930e4cd83(-f 强制删除)
19、导入、导出容器
docker import wangzi.tar -ubuntu:1225
docker export -o wangzi.tar nginx
20、查看容器进程信息等
docker top cesi1
21、查看统计信息(内存/cpu/存储/网络等统计信息)
docker stats ceshi1
22、 查看所有的容器
docker ps -a
23、 查看容器的日志/倒数1000行日志
docker logs 容器名
docker logs --tail=1000 容器名