1.简介Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化 。容器是完全使用沙箱机制,相互之间不会有任何接口
在之前的项目部署中,我们需要在linux服务器上安装python,nginx,uwsgi,redis, ,mysql等等 , 这是一个非常耗时的过程,可能要花费一天的时间,如果我们在以后迁移到其他服务器怎么办 , 难道要重新部署一次吗??。。?
为此我们可以使用docker技术 , 将所有的部署放在docker中 , 然后将docker打包,如果以后需要迁移,直接将镜像发送到服务器,一键启动
1.1 Docker的应用场景
- Web 应用的自动化打包和发布 。
- 自动化测试和持续集成、发布 。
Github Docker 源码:https://github.com/docker/docker-ce
2.docker的生命周期概念
- 镜像:一个系统的只读版本,例如一个微型的centos或者ubuntu系统
- 容器:容器进程,应用程序以后封装在容器中运行,相互隔离
- 仓库:存储镜像的一个仓库地址,便于和他人共享镜像文件
3.安装docker3.1 下载使用官方安装脚本自动安装
# 下载curlsudo apt install curlcurl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
文章插图
3.2 确保docker服务已打开# 查看docker服务状态 sudo service docker status # 重启docker服务sudo service docker restart# 关闭dockersudo service docker stop# 开启docker服务sudo service docker start
文章插图
3.3 测试docker是否成功安装sudo docker run hello-world显示如下下界面代表安装成功
文章插图
4 卸载docker删除安装包:
sudo apt-get purge docker-ce删除镜像、容器、配置文件等内容:
sudo rm -rf /var/lib/docker5 操作dockerdocker服务操作
sudo service docker start # 开启docker服务sudo service docker stop # 关闭docker服务sudo service docker restart # 重启docker服务sudo service docker status # 查看docker服务状态5.1 查看所有镜像sudo docker images包括:镜像名称 镜像ID 镜像创建时间 镜像大小5.2 查看容器docker ps # 查看存活的容器docker ps -a # 查看所有容器,包括已退出的容器
文章插图
5.3 运行docker在运行一个镜像的时候,如果容器中没有存活的进程 , 容器就会直接挂掉
# 简单运行一下,通常会执行一下容器就会挂掉docker run 镜像名称# 交互式的运行一个的docker容器,-i:交互式命令, -t:开启一个终端docker run -it 镜像名称 /bin/bash# 后台运行一个docker容器,并指定运行shell代码 -d:让容器后台运行, -c:运行的shell命令docker run -d 镜像名称 /bin/sh -c "while true;do echo 辛苦了,学习linux; sleep 1;done"# 运行容器并指定名称docker run --name xxx -it 镜像名称 /bin/bash# 运行容器并指定端口映射docker run --name xxx -it 镜像名称 -p 6000:5000# 运行容器并指定端口映射 , 文件夹映射docker run --name xxx -it 镜像名称 -p 6000:5000 -v 宿主机目录:容器目录 -e 环境变量key:环境变量velue# 运行容器并制定端口映射,文件夹映射和环境PATH映射docker run --name xxx -it 镜像名称 -p 6000:5000 -v 宿主机目录:容器目录 -e# 进入一个存活的容器 docker exec -it 容器id /bin/bash # 容器重启 docker restart 容器id # 容器停止 docker stop 容器id # 容器启动 docker start 容器id
推荐阅读
- 支持JDK19虚拟线程的web框架之四:看源码,了解quarkus如何支持虚拟线程
- 21 基于SqlSugar的开发框架循序渐进介绍
- 明日方舟雪雉模组雪雉的宝贝存钱罐效果怎么样
- 苹果13什么时候上市的几月份_苹果13在几月份上市
- ysl416唇釉味道怪怪的_圣罗兰416唇釉什么味道
- 米饭的英语怎么读 米饭英语
- 三星zFlip3参数配置_三星zFlip3配置详情
- iphone13买多大内存的合适_怎么选择
- dnf好的宠物怎么得(dnf拍卖行怎么买宠物)
- 玩英雄联盟的时候,FPS低该怎么办呢(lol突然fps变得超级低)