Skip to content

image 与 container

install

安装 Docker Engine https://docs.docker.com/engine/install/ubuntu/

sh
# 参看版本
docker version
docker info

sudo systemctl start docker

sudo

sh
# 创建 docker 组(通常已存在,但加上保险)
sudo groupadd docker

# 将当前用户加入 docker 组
sudo usermod -aG docker $USER

# 立即生效
newgrp docker

image

sh
$ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

image 文件是通用的,一台机器的 image 文件拷贝到另一台机器,照样可以使用。

sh
# 查询
docker search 关键字
sh
# 拉
docker image pull library/hello-world
docker image pull hello-world

docker pull 10.10.103.21:5000/sshd

下载也是一层层的去下载

删除 image

sh
# 查看本机 image
docker image ls
docker image ls --all
# 删除 iamge ,释放硬盘
docker image rm [imageID]
sh
docker rmi [OPTIONS] IMAGE [IMAGE... ]

container

sh
# run 会创建新的 container
# start 不会
docker container run -p 8000:3000 -it koa-demo /bin/bash
docker container run -p 8000:3000 -it koa-demo:0.0.1 /bin/bash

container 的 3000 映射到本机的 8000

  • -i 接收用户输入
  • -t 分配一个伪终端
  • --name 自定义名称
  • -c 分配 CPU 的 shares 值,相对权重
  • -m 分配的内存总量,以 B、K、M、G 为单位
  • -v 挂在 volume,可以多个,[host-dir]:[container-dir]:[rw|ro]
  • -p 端口映射,[host-port]:[container-Port]
sh
docker ps
docker ps -a
docker container ls
docker container ls --all
sh
docker container kill [containerID]

docker container start
docker container stop
sh
# 删除 释放硬盘
docker container rm [containerID]

docker container logs

# 进入 container 执行 sh
docker container exec
docker container exec -it [containerID] /bin/bash

# 复制 container 里面的文件
# 第一个是 from,第二个是 to
docker container cp
docker container cp [containID]:[/path/to/file] .

image 打包

sh
# 需要 dockerfile 文件
# 注意最后那个 .
docker image build -t koa-demo .
docker image build -t koa-demo:0.0.1 .
sh
# 将 image 保存为一个 tar 归档文件
docker save -o 输入文件路径 镜像名:版本号

# 导入本地镜像文件
docker load -i 加载文件路径