我的Docker学习笔记。
Docker Hello World
Docker架构
三个基本概念:
- 镜像(Image):类似于面向对象中的类;
- 容器(Container):类似于面向对象中的对象;
- 仓库(Repository):用于保存镜像;
Docker常用命令
容器生命周期管理
功能 | 命令 |
---|---|
创建一个新的容器并运行一个命令 | docker run |
启动/停止/重启容器 | docker start/stop/restart |
杀掉一个运行中的容器 | docker kill |
删除一个或多个容器 | docker rm |
容器操作
功能 | 命令 |
---|---|
列出容器 | docker ps |
镜像仓库
功能 | 命令 |
---|---|
登入/登出一个Docker镜像仓库 | docker login/logout |
从镜像仓库中拉取或者更新指定镜像 | docker pull |
将本地的镜像上传到镜像仓库 | docker push |
本地镜像管理
功能 | 命令 |
---|---|
列出本地镜像 | docker images |
删除本地一个或多个镜像 | docker rmi |
Docker容器创建和管理
解决运行Docker需要sudo问题
产生原因
Docker进程使用Unix socket而不是TCP端口。而默认情况下,Unix socket属于root用户,需要root权限才能访问。
解决方法
-
查看用户组:
cat /etc/group | grep docker
-
如果未创建,在此步创建用户组,若已创建,执行下一步:
sudo groupadd docker
-
将用户加入到用户组:
sudo usermod -aG docker <用户名>
-
检查是否成功加入:
cat /etc/group
-
重启Docker:
sudo systemctl restart docker
-
给
docker.sock
文件添加权限:sudo chmod a+rw /var/run/docker.sock
-
确认是否解决:
docker run hello-world