Docker从入门到放弃

2021-05-13  本文已影响0人  李霖弢

Docker概念

与虚拟机区别

容器类似一个轻量级的虚拟机(但本质上不是虚拟机,虚拟机是操作系统级别的资源隔离,而容器是进程级的资源隔离)。
相比虚拟机,Docker启动更快,占用空间更小,对资源的利用率更高。


Docker的安装和卸载

Docker可以安装在Windows、Linux、Mac等各个平台上。

Windows

其中Windows上安装的Docker Desktop基于WSL(Windows Subsystem for Linux) ,用于在windows上跑linux系统
安装完毕后cmd执行docker run hello-world测试是否安装成功

Linux
  1. 通过 cat /proc/version 查看系统版本
  2. 通过命令行安装相应docker
查看docker版本

镜像

查看镜像
拉取镜像

标签通常是版本号,默认为latest
注意:该latest是镜像管理者手动添加的tag,而非总是最新版本。

docker pull ubuntu
docker pull ubuntu:16.04
docker pull xunmi/django

仓库名默认library,从官方获取镜像相当于docker pull library/【镜像名:标签】

docker pull hub.c.163.com/library/mysql:latest
删除镜像

若镜像已生成容器,需删除容器后再删除镜像


容器

查看容器

查看正在运行的容器

通过配置文件生成容器
  1. vi Dockerfile 在当前目录下创建并编辑Dockerfile文件
  2. 输入 from python:3.7 ,通过 Esc + :wq + 回车 保存
  3. docker build 【可选参数】 【镜像名:标签】 【向启动容器中传入的命令】
通过命令行生成容器
docker run -dp 8080:80 --name docker-test docker/getting-started
开启容器
停止容器
删除容器
在运行的容器中执行命令
docker exec -it mynode12 bash
将容器制作成镜像

便于备份、复用


查看镜像、容器信息


容器内外文件复制

容器外执行指令


查看docker容器日志

docker logs [OPTIONS] CONTAINER
  Options:
        --details        显示更多的信息
    -f, --follow         跟踪实时日志
        --since string   显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
        --tail string    从日志末尾显示多少行日志, 默认是all
    -t, --timestamps     显示时间戳
        --until string   显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

简单的操作示例


常见问题

容器创建后不处于运行状态

docker容器运行必须有一个前台进程, 如果没有前台进程保持执行,容器认为空闲,就会自行退出。

docker run myempty:0.1 /bin/sh "while true; do ls;sleep 1;done"
上一篇 下一篇

猜你喜欢

热点阅读