[TOC]

概述

文章参考:https://yeasy.gitbook.io/docker_practice/install/mac (基准)

Docker Desktop for Mac 要求系统最低为 macOS 必须是 10.15 或更高版本, Catalina、Big Sur 或者 Monterey,建议升级到最新版本的 macOS。

环境搭建

MacOS系统

1.使用 Homebrew 安装

Homebrew 的 Cask 已经支持 Docker Desktop for Mac,因此可以很方便的使用 Homebrew Cask 来进行安装:

1
$ brew install --cask docker

2.手动下载安装

如果需要手动下载,请点击以下链接下载 Stable 或 Edge 版本的 Docker Desktop for Mac。

如同 macOS 其它软件一样,安装也非常简单,双击下载的 .dmg 文件,然后将那只叫 Moby 的鲸鱼图标拖拽到 Application 文件夹即可(其间需要输入用户密码)。

Ubuntu系统

参考文档:https://www.docker.com/products/docker-desktop/

Linux安装文档:https://docs.docker.com/desktop/install/linux-install/

使用DEB包安装

使用官方安装脚本

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

如果Ubuntu16.04 LTS版本,我们需要安装下面的两个工具:

1
2
3
sudo apt-get update

sudo apt-get install -y \ linux-image-extra-$(uname -r) \ linux-image-extra-virtual

出现如下错误:

1
2
3
E: Unable to locate package linux-image-extra-4.15.0-29-generic
E: Couldn't find any package by glob 'linux-image-extra-4.15.0-29-generic'
E: Couldn't find any package by regex 'linux-image-extra-4.15.0-29-generic'

解决方法:

https://blog.csdn.net/qq_37495786/article/details/84256903

1
2
$ sudo apt-get update       
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common

安装nvidia-docker2

1
sudo apt-get install nvidia-docker2
1
2
3
4
5
6
7
8
9
10
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$ sudo pkill -SIGHUP dockerd
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$ sudo systemctl daemon-reload
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$ sudo systemctl restart docker
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$ sudo usermod -aG docker "$USER"
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$

如果提示没有docker组,可以使用sudo groupadd docker创建该组

查看当前用户是否加入docker组

1
2
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$ groups $USER
baiduiov : baiduiov adm cdrom sudo dip plugdev lpadmin sambashare docker

修改docker默认存储路径

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
(base) baiduiov@FreweniUbuntu:~/01.WorkSpace$ sudo docker info
Client:
Context: default
Debug Mode: false

Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 20.10.21
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux nvidia runc
Default Runtime: runc
Init Binary: docker-init
containerd version:
runc version:
init version:
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 5.4.0-150-generic
Operating System: Ubuntu 18.04.6 LTS
OSType: linux
Architecture: x86_64
CPUs: 16
Total Memory: 31.07GiB
Name: FreweniUbuntu
ID: YNYH:BNQF:ZKKO:QCD5:M4VK:TWEV:72TX:7Y36:JTGL:A25F:LTBL:FMAH
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false

WARNING: No swap limit support

修改dokcer的配置环境

使用如下命令,进行修改docker的环境变量变量

1
sudo gedit /etc/docker/daemon.json 

修改见如下示例:

1
2
3
4
5
6
7
8
9
10
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"insecure-registries": ["l3-docker.baidu-int.com", "iregistry.baidu-int.com"]
"data-root": "/home/baiduiov/tools/docker"
}
1

入门教程

Getting Started项目是一个简单的GitHub存储库,其中包含构建映像并将其作为容器运行所需的一切。

Clone the repository by running Git in a container.

1
docker run --name repo alpine/git clone https://github.com/docker/getting-started.git

Docker映像是容器专用的文件系统。它提供了容器所需的所有文件和代码。

1
2
cd getting-started
docker build -t docker101tutorial .

基于上一步中构建的图像启动容器。运行容器将启动具有私有资源的应用程序,与计算机的其他部分安全隔离。

1
docker run -d -p 80:80 --name docker-tutorial docker101tutorial

在Docker Hub上保存并共享您的图像,使其他用户能够轻松下载并在任何目标机器上运行图像。

1
2
docker tag docker101tutorial frewen/docker101tutorial
docker push frewen/docker101tutorial