Docker环境搭建

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: MacOS MacOS 我们可以使用 Homebrew 来安装 Docker。 下载docker桌面版https://www.docker.com/get-started 鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,需要配置国内镜像地址 阿里云:https://<你的ID>.mirror.aliyuncs.com,如:https://

MacOS

  1. MacOS 我们可以使用 Homebrew 来安装 Docker。
    1. 下载docker桌面版https://www.docker.com/get-startedimage.png
  1. 鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,需要配置国内镜像地址

20201027121231.jpg

{
  "experimental": false,
  "features": {
    "buildkit": true
  },
  "registry-mirrors": [
    "https://zjy67cgc.mirror.aliyuncs.com"
  ]
}
  1. 下载镜像:https://docker.alibaba-inc.com/#/imageList
    • docker pull reg.docker.alibaba-inc.com/iot-warp/node-red:1.2.2
  2. 下载服务:http://gitlab.alibaba-inc.com/haas-studio/ms-studio
  3.  启动docker
    • docker run -d -i -t --rm --name="ms-studio" -p 50002:1880 -p 52202:22 -v /Users/dan.wu/work/study/node-red/ms-studio:/data reg.docker.alibaba-inc.com/iot-warp/node-red:1.0.1

Ubuntu

2种安装方式都可以

  1. 自动安装:
  • curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  • curl -sSL https://get.daocloud.io/docker | sh

 

  1. 手动安装(这里是中国科技大学的源为例
  • 安装依赖包:sudo apt-get install apt-transport-https ca-certificates  curl gnupg-agent software-properties-common
  • 添加 Docker 的官方 GPG 密钥:curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  • 设置稳定版仓库:sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/   $(lsb_release -cs)   stable"
  • 更新包索引:sudo apt-get update
  • 卸载旧版本(如之前安装过可选):sudo apt-get remove docker docker-engine docker.io containerd runc
  • 安装最新版本的 Docker Engine-Community和containerd:sudo apt-get install docker-ce docker-ce-cli containerd.io

 

  1. 验证环境:
$ sudo docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete                                                                                                                                  Digest: sha256:c3b4ada4687bbaa170745b3e4dd8ac3f194ca95b2d0518b417fb47e5879d9b5f
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

 

  1. 镜像加速

对于使用 systemd 的系统(Ubuntu16.04+、Debian8+、CentOS7)

请访问阿里云线上地址 https://cr.console.aliyun.com/#/docker/booster 获取你的加速器

请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
$ sudo /etc/docker/daemon.json
    添加:{"registry-mirrors":[
            "https://reg-mirror.qiniu.com/",
            "https://<你的阿里云id>.mirror.aliyuncs.com"
        ]}
  
重新启动服务:
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
  1. 给docker添加sudo权限
$ sudo groupadd docker
$ sudo gpasswd -a <你的用户名> docker
$ sudo service docker restart
退出shell 重新进入即可

Docker常用命令

docker run用来运行一个容器

docker run ubuntu:15.10 /bin/echo "Hello world"

  • docker: Docker 的二进制执行文件。
  • run: 与前面的 docker 组合来运行一个容器。
  • ubuntu:15.10 指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
  • /bin/echo "Hello world": 在启动的容器里执行的命令

docker run -i -t ubuntu:15.10 /bin/bash

  • -t: 在新容器内指定一个伪终端或终端。
  • -i: 允许你对容器内的标准输入 (STDIN) 进行交互。

docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"

  • -d: 在新容器运行在后台。

docker ps 来查看容器进程:

  • CONTAINER ID: 容器 ID。
  • IMAGE: 使用的镜像。
  • COMMAND: 启动容器时运行的命令。
  • CREATED: 容器的创建时间。
  • STATUS: 容器状态。
    • created(已创建)
    • restarting(重启中)
    • running 或 Up(运行中)
    • removing(迁移中)
    • paused(暂停)
    • exited(停止)
    • dead(死亡)

docker logs 查看容器内的标准输出

docker images 来列出本地主机上的镜像。

docker pull 下载容器镜像,会根据你配置的镜像仓库地址来下载镜像

阿里云镜像仓库: https://docker.alibaba-inc.com/#/imageList

阿里云容器镜像服务:https://cr.console.aliyun.com/

如: docker pull reg.docker.alibaba-inc.com/iot-warp/node-red:1.2.2

有时候报latest not found: manifest unknown: manifest unknown,说明找不到latest版本,请带上版本号

 

制作docker镜像

当我们从 docker 镜像仓库中下载的镜像不能满足我们的需求时,我们可以通过以下两种方式对镜像进行更改。

1.commit方式:基础镜像运行生成容器,容器中安装需要工具,提交镜像。

  • 登录阿里云容器镜像服务
    • 创建镜像仓库,并使用本地代码源(即通过本地上传的方式,上传镜像)
    • 在“访问凭证”标签里设置固定密码
  • 先用docker run运行一个基础的容器镜像,如ubuntu:16.04
    • 在容器里做一些更新:如安装一些工具,软件包,下载一些源代码
    • exit命令退出容器
  • docker ps -a查看刚才修改过的容器,找到id,如e218edb10161
  • docker commit -m="has update" -a="shenping.sp" e218edb10161 runoob/ubuntu:v2
    • -m: 提交的描述信息
    • -a: 指定镜像作者
    • e218edb10161:容器 ID
    • runoob/ubuntu:v2: 指定要创建的目标镜像名
  • 使用docker imags查看imageID
  • 将镜像推送到Registry:
    • $ sudo docker login --username=iotx_develop_hacklab registry.cn-shanghai.aliyuncs.com
    • $ sudo docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/haas-studio/codebase:[镜像版本号]
    • $ sudo docker push registry.cn-shanghai.aliyuncs.com/haas-studio/codebase:[镜像版本号]
相关实践学习
通过容器镜像仓库与容器服务快速部署spring-hello应用
本教程主要讲述如何将本地Java代码程序上传并在云端以容器化的构建、传输和运行。
Kubernetes极速入门
Kubernetes(K8S)是Google在2014年发布的一个开源项目,用于自动化容器化应用程序的部署、扩展和管理。Kubernetes通常结合docker容器工作,并且整合多个运行着docker容器的主机集群。 本课程从Kubernetes的简介、功能、架构,集群的概念、工具及部署等各个方面进行了详细的讲解及展示,通过对本课程的学习,可以对Kubernetes有一个较为全面的认识,并初步掌握Kubernetes相关的安装部署及使用技巧。本课程由黑马程序员提供。 &nbsp; 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
1月前
|
Oracle 关系型数据库 Linux
Docker入门和安装
这篇文章提供了Docker的入门指南和在CentOS系统上安装Docker的详细步骤。
39 0
Docker入门和安装
|
6月前
|
存储 Ubuntu 关系型数据库
Docker从入门到精通:ubuntu系统安装docker
本文介绍了Docker的安装过程。首先,文章简述了Docker的组成部分:镜像(如模板用于创建容器服务)、容器(运行应用的独立实体)和仓库(存储镜像的库)。接着,针对Ubuntu系统,详细阐述了卸载旧版本Docker、更新软件包、安装依赖、添加Docker官方GPG密钥和软件源、安装Docker以及配置用户组的步骤。最后,通过启动Docker、验证安装是否成功(运行`hello-world`镜像)和查看Docker版本来确认安装完成。
439 12
|
6月前
|
Linux Docker 容器
阿里云安装docker教程
阿里云安装docker教程
754 0
|
6月前
|
存储 Ubuntu Docker
Docker环境搭建
Docker环境搭建
76 0
|
11月前
|
存储 Ubuntu Docker
docker环境安装
docker环境安装
159 0
|
运维 Ubuntu NoSQL
Docker(一)入门:Docker的入门与安装
我们发布一个项目,可能需要Redis、Mysql、Node.js的环境,电脑上运行只需要一分钟,而环境配置可能一天都不一定,充电两小时用时五分钟的概念。
329 0
Docker(一)入门:Docker的入门与安装
|
存储 Ubuntu Linux
Docker 环境搭建
Docker 环境搭建
183 0
|
Ubuntu Linux 网络安全
Docker实践:使用Docker搭建个人开发环境
Docker实践:使用Docker搭建个人开发环境
1899 0
Docker实践:使用Docker搭建个人开发环境
|
Linux Shell 网络安全
docker入门教程(搭建docker看)
Docker 查看系统内核和系统信息 命令:
237 0
docker入门教程(搭建docker看)
|
Ubuntu Linux Docker
Docker | 超全的环境配置教程,以及问题解决
Docker | 超全的环境配置教程,以及问题解决
249 0
Docker | 超全的环境配置教程,以及问题解决
下一篇
无影云桌面