欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker(一) 基本操作

程序员文章站 2022-03-12 12:20:55
...

layout: blog
istop: true
title: “docker 基本操作”
date: 2018-09-11
category: docker
tags:

  • docker

介绍

一种类似于虚拟机的技术,只需要提供lib 库的支持,即可生成容器(虚拟机),
可以理解为轻量级的虚拟机

  • docker有三个重要的概念:
    • 镜像: 相当于ISO,但是是多层构建的。
    • 容器: 容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等,可以看做是一个进程。
    • 仓库: 保存和存储镜像的地方

安装

  • 官方脚本,方便快捷
 $ curl -fsSL get.docker.com -o get-docker.sh
 $ sudo sh get-docker.sh --mirror Aliyun
  • 切换国内镜像
#编辑这个文件
vim /etc/docker/daemon.json(Linux)
# 输入一下内容,注册地址是个数组,可以添多个
    {
      "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }

镜像

获取

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
示例:docker pull ubuntu:16.04

列出镜像

$ docker images 或 docker image ls

删除空镜像(虚空镜像)

$ docker image prune

删除镜像

$ docker rmi 镜像id

列出镜像 ID

$ docker image ls -q

批量删除镜像

$ docker rmi $(docker image ls -q)

容器

启动

  • 新建并启动
$ docker run -d -p 8080:8080 --name test anhusky/springboot-docker-dockerfile  

参数介绍:

  • -d : 以守护线程运行
  • -p 8080:8080 前边的8080是宿主机端口,后边的是映射的容器端口
  • –name 容器的名字
    注意:启动参数写在镜像名称前边,否则不起作用
  • 启动已终止的
$ docker `containerId` start

停止

$ docker `containerId` stop

查看

# -a 表示显示所有,包括已经停止运行的容器
$ docker container ls  -a 

进入容器

  • attach 命令
# 243c容器id简写(前4位)
$ docker attach 243c
[email protected]:/#

注意: 1. 如果从这个 stdin 中 exit,会导致容器的停止。
2. 非交互式终端启动方式,无法通过这个命令进入容器

  • exec 命令
# 69d1容器id简写(前4位)
$ docker exec -it 69d1 bash

注意: 1. 如果从这个 stdin 中 exit,会导致容器不会终止,推荐使用这种方式进入。
2. bash 报错的话使用 sh

删除

# a123为容器id简写(前4位)
docker rm a123
# 清理所有处于终止状态的容器
$ docker container prune

仓库

这里仓库以这个Docker Hub 仓库为例,在 https://cloud.docker.com 免费注册一个 Docker 账号。

登录

通过 docker login,根据提示,输入用户名和密码

推送镜像

$ docker push anhusky/springboot-docker-dockerfile:2.0.0

注意:anhusky : 是仓库名称,必须和自己在DockerHub上设置的一样,默认是用户名
springboot-docker-dockerfile :镜像名称
2.0.0 : 镜像标签

参考文章

Docker — 从入门到实践

Spring Cloud与Docker实战微服务