1.连接阿里云服务器
ssh root@公网ip
2.docker 为什么比vm快
因为docker不需要像虚拟机一样重新加载一个操作系统内核,而是利用宿主机的操作系统
3.docker启动一个应用 流程
docker首先在本机寻找镜像。如果本机有则下载运行,若没有则在dockerhub上下载,若dockerhub上没有找到这个镜像则返回错误,若能找到则下载运行
4.docker是怎么工作的
docker是c/s结构
Docker-client通过Socket访问docker-server 在server接收到client的指令时就会执行这个命令
在server端会通过镜像创建很多docker容器,不同容器之间是相互隔离的,
Docker理念:将应用和环境打包成镜像
5.镜像命令
Name, shorthand Default Description
--all , -a Show all images (default hides intermediate images)
--digests Show digests
--filter , -f Filter output based on conditions provided
--format Pretty-print images using a Go template
--no-trunc Don't truncate output
--quiet , -q Only show image IDs
docker images
REPOSITORY:镜像名(镜像的仓库源)
CREATED :镜像创建时间
下载镜像
docker pull mysql(默认下载最新版本的mysql)
docker pull mysql:版本号(下载指定版本的Mysql)
删除镜像
docker rmi -f 镜像id (删除指定镜像)
docker rmi -f 镜像id 镜像id 镜像id 镜像id(删除多个镜像)
docker rmi -f $(docker images -aq) (删除所有镜像)
6.容器命令
docker ps 列出当前运行中的容器
docker run [可选参数] image
--name=”name” 容器名字用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口
-p主机端口:容器端口
-p容器端口
-p (随机指定端口)
docker run -it centos /bin/bash 启动并进入容器
Exit 退出容器
docker rm -f 容器id (强制删除指定容器)
docker rm -f 容器id 容器id 容器id(强制删除多个容器)
docker rm -f $(docker ps-aq) (强制删除所有容器)
docker rm 不能删除正在运行的容器 加上-f可靠强制删除
docker exec 进入容器后开启一个新的终端 可以在里面操作
docker attach 进入容器正在执行的终端,不会启动新的进程
docker cp 容器id:容器路径 主机路径 将容器中文件拷贝到主机上
docker stop 容器id 停止容器
部署nginx
docker run -d --name 自定义容器名 -p 3344:80 nginx
3344为本地端口 80为容器端口
docker exec -it nginx02 /bin/bash
进入容器nginx02
部署tomcat
docker run -it --rm tomcat:9.0
下载启动tomcat,启动完即删(用于测试使用)
docker pull tomcat
下载镜像
docker run -d -p 3344:8080 --name tomcat01 tomcat
docker exec -it tomcat01 /bin/bash
进入tomcat01容器
容器内webapps文件夹为空 把webapps.dist文件夹下文件复制到webapps
cp -r webapps.dist/* webapps
此时访问http://ip地址/3344
容器数据卷
1. 什么是容器数据卷
将容器内的目录挂载到linux主机,实现数据的持久化
2. 如何挂载
方法一:直接使用命令挂载 -v
docker run -it -v 主机目录:容器内目录
例:[root@iZwz93i9d6sgnqnck60ksoZ home]# docker run -it -v /home/ceshi:/home centos /bin/bash
启动容器后可以通过docker inspect 容器id
测试数据卷是否挂载成功
3 容器内新增文件
4. 查看主机/home/ceshi目录是否存在该文件