- 1. 什么是Docker
- 2. Why Docker?
- 3. 在centos7安装docker
- 4. Docker的核心
- 5. Docker常用命令
- 6. Docker镜像原理
- 7. Docker安装mysql
- 8. Docker 安装redis
- 9. DockerFile
参考视频 B站 编程不良人 https://www.bilibili.com/video/BV1Qa4y1t7YH
1. 什么是Docker
引自官网:
Package Software into Standardized Units for Development, Shipment and Deployment
A container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another. A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
2. Why Docker?
3. 在centos7安装docker
卸载原有的docker
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
设置yum依赖
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
启动docker
sudo systemctl start docker
测试启动是否成功
docker run hello-world
4. Docker的核心
5. Docker常用命令
docker images 查询所有镜像
docker search xxx 搜索镜像
docker pull xxx 拉取镜像
eg: docker pull nginx:latest docker pull nginx:1.11
docker rmi -f hello-world
-f 强制删除镜像
容器常用命令
docker ps 查看正在运行的容器状态
-a 正在运行的和历史运行的容器
-q 只显示容器id
--name 自定义容器name
docker run 运行镜像
docker run -p 80:80 nginx 本机的80端口映射到容器的80端口
-d 守护进程
docker stop id/name 正常关闭容器
docker start id 启动某个容器
docker kill id 直接关闭,不等待内部操作
docker rm id 删除容器
-f 强制删除
docker rm -f $(docker ps -aq) 删除所有容器
docker top id/name 查看容器内进程
docker inspect id 查看容器内部信息
docker logs id 查看日志
-t 时间戳
-f 跟随最新的日志
进阶命令
docker exec id 容器内命令 进入容器执行命令
-i 交互模式运行容器,通常与-t 一起使用
-t 分配一个伪终端
docker exec -it 159 /bin/bash
docker commit -a="作者" -m="描述信息" 容器id 目标镜像名称:TAG
docker cp 容器id:容器内资源路径 宿主机目录路径 --- 将容器资源拷贝到主机上
数据卷
在Docker run时添加-v 参数
-v 宿主资源路径:容器路径
eg:
docker run -d -p 80:80 -v /Users/mac/Desktop/素材:/usr/share/nginx/html nginx
使用docker inspect 查看是否挂载成功
docker save 要保存的镜像名字 ----把镜像保存为tar
-o 打包的tar包名字
docker load -i tar包名字 ---解压为一个镜像
6. Docker镜像原理
镜像是一种轻量级的,可执行的独立软件包,用来打包软件运行时环境和基于运行软件开发的软件,它包含运行某个软件所需的所有内容,包括代码,运行时所需要的库,环境变量和配置文件
7. Docker安装mysql
选择一个mysql版本拉取
docker pull mysql:8
运行mysql,一定要指定root用户的密码
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:8
如果需要的配置文件在宿主机器上,在run时使用—v参数,指定配置文件的位置
docker run -v /xxx/mysql/conf.d:/etc/mysql/conf.d
mysqldump的配置很多,参考其他文档
8. Docker 安装redis
docker pull redis:5.0.9
docker run --name redis -p 6379:6379 -d redis:5.0.9
9. DockerFile
9.1 什么是DockerFile
9.2 DockerFile解析过程
9.3 DockerFile常用命令
使用
docker build -t Dockerfile .
生成镜像
FROM命令
RUN命令
EXPOSE命令
CMD命令
ENTRYPOINT命令
WORKDIR命令
ENV命令
后续指令可以使用$name 获取ENV设置的环境变量
VOLUME命令
ADD命令
COPY命令
使用Dockerfile构建SpringBoot项目
首先把项目打成jar包
然后把jar包放入linux虚拟机中
然后编写Dockerfile
docker bulid -t Dockerfile . 构建镜像
docker run 运行容器 注意-p映射端口
Comments | 0 条评论