文档:https://www.runoob.com/docker/docker-tutorial.html
阮一峰:http://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html

介绍:
Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
Docker中有images controller两个主要概念,images是镜像,controller是容器。
镜像和容器的区别:
1、镜像是包含了各种环境或者服务的一个模板,而容器是镜像的一个实例;
2、镜像是不能运行的,是静态的,而容器是可以运行的,是动态的。

一、安装

centos安装Docker
https://www.cjavapy.com/article/11/

Ubuntu一键安装Docker

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

MacOs安装Docker并打开Docker app

  1. brew install --cask --appdir=/Applications docker

查看是否安装成功

  1. docker -v
  2. docker --version

docker换源(macos)
image.png

  1. {
  2. "debug": true,
  3. "experimental": false,
  4. "registry-mirrors": [
  5. "https://hub-mirror.c.163.com"
  6. ]
  7. }

二、命令

1、查看所有命令

  1. docker

2、导入镜像

  1. //拉取远程镜像
  2. docker image pull library/hello-world
  3. //导入本地镜像
  4. docker load -i successed_w2v_0.5.zip

3、查看和删除镜像

  1. //查看
  2. docker images
  3. docker image ls
  4. //删除
  5. docker image rm [imageName]

image 文件是通用的,一台机器的 image 文件拷贝到另一台机器,照样可以使用。一般来说,为了节省时间,我们应该尽量使用别人制作好的 image 文件,而不是自己制作。即使要定制,也应该基于别人的 image 文件进行加工,而不是从零开始制作。

4、启动镜像

  1. docker container run hello-world
  2. docker container run -it ubuntu bash
  3. docker run -p 8191:8191 -v ~/document/docker_share:/home/vcaadmin/docker_share --gpus all -itd v2c:0.0 /bin/bash

docker container run命令会从 image 文件,生成一个正在运行的容器实例。
注意,docker container run命令具有自动抓取 image 文件的功能。如果发现本地没有指定的 image 文件,就会从仓库自动抓取。因此,前面的docker image pull命令并不是必需的步骤。

5、查看启动的容器

  1. # 列出本机正在运行的容器
  2. docker container ls
  3. # 列出本机所有容器,包括终止运行的容器
  4. docker container ls --all
  5. # 简写
  6. docker ps -a

6、终止和删除的容器

  1. //终止
  2. docker container kill [containID]
  3. //删除
  4. docker container rm [containerID]

终止运行的容器文件,依然会占据硬盘空间,可以使用docker container rm命令删除。

7、进入容器

docker container exec命令用于进入一个正在运行的 docker 容器。如果docker run命令运行容器的时候,没有使用-it参数,就要用这个命令进入容器。一旦进入了容器,就可以在容器的 Shell 执行命令了。

  1. //进入容器
  2. docker container exec -it [containerID] /bin/bash
  3. //退出容器
  4. Ctrl+D 退出容器,并让容器停止运行
  5. Ctrl+P+Q 退出容器,不停止运行