Docker 安装和简易入门

后续由于树莓派用到了 Docker,所以得开个新坑来写写 Docker 的简易入门。

安装

首先给出官网下载地址,如果是 Windows 或 MacOS,有对应的安装包,直接安装就好。带有图形界面,方便配置和重启。

Linux 的话,需要用脚本或者命令来安装。可以参考上面的下载地址,也有对应 Linux 的安装方式。如果是树莓派,可以按照 Debian 的方法来。

但比较省事的方式是:

1
curl -sSL get.docker.com |sh

管理员权限运行

Docker 需要管理员来运行,为了省事,可以把 Docker 用户加入到管理组。如果不增加到管理组,每条命令前面必须加入 sudo

1
sudo usermod -aG docker $USER

更改为国内源

更改国内源,目前发现只有阿里云的速度非常好。可能是用的人多,缓存命中率也高。

其他第三方(网易、某高校、docker 中国区),都不用注册,结果就是都存在部分镜像没有缓存,那就变的非常慢了。

登录阿里云,访问「容器镜像服务」,然后去「镜像加速器」栏目,查看自己的加速器地址。

具体的操作方法,在加速器地址的页面下侧也有写。Windows 和 MacOS 因为有图形界面,可以直接配置。

其他 Linux,比如树莓派,按照 Ubuntu 的方式,内容如下:

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://tca8ayts.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
docker image ls # 列出当前本地的镜像,简写 docker images
docker image pull xxx # 拉取一个镜像,简写 docker pull
docker image rm xxx # 移除一个本地镜像,简写 docker rmi
docker image build -t xxx /path # 通过 Dockerfile 构建一个镜像,简写 docker build

docker container ls --all # 当前存在的容器,不加 --all 则只显示运行中的容器,简写 docker ps
docker container run xxx # 运行一个新容器,简写 docker run
docker container exec -it xxx /bin/bash # 进入一个后台运行的容器,简写 docker exec
docker container stop xxx # 停止一个容器,简称 docker stop
docker container start xxx # 启动一个容器,简称 docker start
docker container kill xxx # 强行结束一个容器,简称 docker kill
docker container rm xxx # 移除一个容器,简写 docker rm
1
2
3
4
5
6
7
docker container run --name --rm -p 8000:3000 -itd xxx /bin/bash 
# name 指容器别名
# rm 指容器停止运行后,自动移除
# p 指端口映射(将容器3000映射到当前系统8000)
# i 指交互模式
# t 指终端
# d 指后台运行

docker run 说明

如果启动的镜像不存在,则先进行 docker image pull,之后再进行启动。

容器开机启动

具体可以参考官网-restart-policies

1
2
3
4
5
docker run -it -p 58080:8080 --restart=always mytomcat:4.0 /root/run.sh
# restart 重启策略,默认为 no,退出后不再启动。
# 可以配置为:
# * always,永远启动
# * on-failure,失败就启动

安装 protainer 可视化工具

这个简直太方便了,省去敲好多命令。可以参考官网安装方法

登录后的首页

容器管理页

体验地址: http://demo.portainer.io/
用户名: admin
密码: tryportainer

如果是 Linux,安装方式如下:

1
2
$ docker volume create portainer_data
$ docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

参考

–END–