美文网首页docker
Docker学习笔记

Docker学习笔记

作者: Zhai1994 | 来源:发表于2019-08-17 21:16 被阅读0次

什么是Docker

Docker是基于Go 语言实现的开源容器项目,诞生于2013年年初,最初发起者是 dotCloud 公司。Docker 自开源后受到广泛的关注和讨论,目前已有多个相关项目(包括 Docker 三剑客、Kubernetes 等),逐渐形成了围绕 Docker 容器的生态体系。
Docker 的构想是要实现“Build, Ship and Run Any App, Anywhere”, 既通过对应用的封装、分发、部署、运行生命周期进行管理,达到应用组件“一次封装,到处运行”的目的。这里的应用组件,既可以是一个 Web 应用、一个编译环境,也可以是一套数据库平台服务,甚至是一个操作系统或集群。

Docker安装

Linux系统(以ubuntu 16.04为例)
# Update the apt package index:
sudo apt-get update
# Install packages to allow apt to use a repository over HTTPS:
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
# Add Docker’s official GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-
# Verify that Docker CE is installed correctly by running the hello-world image
sudo docker run hello-world
MAC OS X系统
Windows系统
  • 这里仅以Window旗舰版和专业版为例,其他版本使用Docker比较麻烦
  • 下载最新版本EXE文件安装即可,点击这里

从Docker Hub拉取镜像

# 拉取ubuntu镜像
sudo docker pull ubuntu

注意:Linux下使用Docker需要root权限,若不想每次使用的时候都加sudo,请参看这里

运行镜像

  • 检查镜像是否拉取成功
sudo docker images
  • 如果所列出来的有ubuntu镜像,那说明已经成功,接下来就可以run啦
sudo docker run -it ubuntu bash
  • 现在我们已经成功打开了一个容器(在docker中打开的镜像成为容器),即ubuntu的终端,你可以像操作普通ubuntu镜像一样操作它。如果你对它进行了一些操作需要把它保存出来供别人使用,你需要使用commit命令
sudo docker commit CONTAINER_ID NEW_IMAGE_NAME

注意:CONTAINER_ID可以通过以下命令查询

sudo docker ps -a
  • 打开已经存在的container
docker exec -it CONTAINER_ID /bin/bash

拷贝文件

  • 拷贝主机文件到Docker container
sudo docker cp host_directory CONTAINER_ID:/path/to/directory

保存镜像到本地与加载本地镜像

# 保存到本地
sudo docker save your_image > your_image.tar
# 从本地加载
sudo docker load < your_image.tar

上传镜像

docker tag <existing-image> <hub-user>/<repo-name>[:<tag>]
docker push <hub-user>/<repo-name>:<tag>

清除冗余镜像

# 删除非启动container
docker rm $(docker ps -a | grep -v Up | awk '{print $1}')
# 删除冗余镜像
docker rmi $(docker images | grep \<none\> | awk '{print $3}')
# 删除所有镜像
docker rmi $(docker images | awk '{print $3}')

相关文章

网友评论

    本文标题:Docker学习笔记

    本文链接:https://www.haomeiwen.com/subject/lrzksctx.html