首页 > 其他分享 >1.docker的基本使用

1.docker的基本使用

时间:2022-11-11 14:56:21浏览次数:81  
标签:基本 容器 run sudo 使用 镜像 docker id

1.简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 LinuxWindows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口

 

在之前的项目部署中,我们需要在linux服务器上安装python,nginx,uwsgi,redis, ,mysql等等,这是一个非常耗时的过程,可能要花费一天的时间,如果我们在以后迁移到其他服务器怎么办,难道要重新部署一次吗?!!!

为此我们可以使用docker技术,将所有的部署放在docker中,然后将docker打包,如果以后需要迁移,直接将镜像发送到服务器,一键启动

1.1 Docker的应用场景

  • Web 应用的自动化打包和发布。

  • 自动化测试和持续集成、发布。

1.2 相关链接

Docker 官网:https://www.docker.com

Github Docker 源码:https://github.com/docker/docker-ce

 

2.docker的生命周期概念

  • 镜像:一个系统的只读版本,例如一个微型的centos或者ubuntu系统

  • 容器:容器进程,应用程序以后封装在容器中运行,相互隔离

  • 仓库:存储镜像的一个仓库地址,便于和他人共享镜像文件

我们基于镜像运行容器,一个镜像可以运行多个容器实例,这样的话多个容器内的环境也是一模一样的

3.安装docker

3.1 下载

使用官方安装脚本自动安装

# 下载curl
sudo apt install curl

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

  

3.2 确保docker服务已打开

# 查看docker服务状态 
sudo service docker status
# 重启docker服务
sudo service docker restart
# 关闭docker
sudo 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/docker

 

5 操作docker

docker服务操作

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
sudo docker run -d --name kunmzhao  -e PYTHONPATH=/home/auto/code/tng-synlite -v /host/path/to/broad-tests:/broad-tests  -v /home/mars/kunmzhao/ata_script:/ata_scripts_containers.cisco.com/synergy_lite/runnertest:3.6.15

 

5.4 docker镜像的获取

方式一:dockerhub获取,先搜索后下载
  docker search 镜像名称docker pull  镜像名称

​方式二:自己制作docker commit 容器id 新镜像名称

5.5 删除镜像

# 删除镜像要确保没有使用该镜像的容器,否则失败
docker rmi   镜像id

# 批量删除镜像
docker rmi `docker iamges -aq`

5.6 删除容器

# 确保容器是未运行的
docker rm   容器id

# 批量删除容器
docker rm  `docker ps -aq`

5.7 查看指定容器的运行日志

docker logs  容器id
docker logs -f  容器id   #实时刷新容器内的日志,例如检测nginx等日志信息

5.8 镜像的制作,导出及导入

  • 镜像制作
    docker commit  容器ID  镜像名称

     

     

  • 镜像导出
    docker save  镜像id   >   镜像的压缩文件

     

     

  • 镜像导入
    初次导入镜像没有tag,添加一个即可
    docker  load   <   镜像的压缩文件
    docker tag  镜像id  镜像新名称

     

     

     

 

标签:基本,容器,run,sudo,使用,镜像,docker,id
From: https://www.cnblogs.com/victor1234/p/16880251.html

相关文章

  • 【实操日记】使用 PyQt5 设计下载远程服务器日志文件程序
    最近通过PyQt5设计了一个下载服务器指定日期日志文件的程序,里面有些有意思的技术点,现在做一些分享。PyQt5是一套Python绑定DigiaQt5应用的框架,是最强大的GUI库......
  • Spring两大核心IOC容器、AOP的使用及总结
    Spring两大核心IOC容器、AOP的使用及总结​Spring框架体系中核心就是IOC容器,IOC容器中文直译为控制反转,顾名思义也就是将组件的控制权交给IOC容器,IOC容器负责管理......
  • 关于navicat中使用datediff无法实现日期计算的解决方案与拓展
    话不多说直接上图在我想要计算时间差值时发现网上找的这个datediff函数在navicat里并不好使,经过查阅各种资料得出一些结论。1.如何正确使用datediff函数通过例子发现......
  • C++类中使用静态成员变量
    如果需要在类中使用静态成员变量,需要在头文件和.cpp文件各定义一次例如,有StaticTest.h和StaticTest.cpp两个文件StaticTest.h:classStaticTest{private:static......
  • 了解如何利用来自 ADAudit Plus 的基本用户登录报告:登录失败
    ManageEngineADAuditPlus是一款实时变更审计和报表软件,可强化您的ActiveDirectory(AD)安全基础架构。它拥有超过250个内置报表,可让您详细了解AD中发生的情况,例如对对......
  • ActiveMQ消息中间件的使用
    一、ActiveMQ的介绍。ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ是一个完全支持JMS1.1和J2EE1.4规范的JMSProvider实现。1、主要特点:......
  • 如何使用 DDD 指导微服务拆分?
      我是架构精进之路,大厂架构师软件架构发展经历软件架构的发展经历了从单体架构、垂直架构、SOA架构到微服务架构以及到现在最新的servicemesh(网格服务架构)的过程。借用d......
  • Django的简单使用
    Django基础简介基础简介1.软件框架一个公司是由公司中的各部部门来组成的,每一个部门拥有特定的职能,部门与部门之间通过相互的配合来完成让公司运转起来。一个软件框......
  • ListView中排序和分组(GroupTemplate)的使用实例演示
    .aspx代码如下:<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="8_Group_Sort.aspx.cs"Inherits="Group_Sort"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0......
  • CSS背景样式使用
    语法:background-color:transparent|color取值:transparent:默认值。背景色透明color:指定颜色。请参阅颜色单位​和附录:颜色表说明:设置或检......