docker使用
# docker资料
- docker手册:https://docs.docker.com/get-started/overview/
- 安装docker:https://docs.docker.com/engine/install/ubuntu/
- sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 离线安装:使用二进制文件安装即可
- https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
- https://docs.docker.com/engine/install/binaries/#install-daemon-and-client-binaries-on-linux
- 可视化界面部署(Portainer)
# 常用命令
docker run hello-world # 测试是否安装成功
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器
docker images # 查看所有镜像
docker rm 容器id # 删除容器
docker rmi 镜像id # 删除镜像
docker pull 镜像名 # 拉取镜像
docker run -it 镜像名 # 运行镜像
docker exec -it 镜像名 /bin/bash # 运行镜像并进入容器
docker exec -it -u 0:0 -privileged 容器id /bin/bash
docker logs -f 容器id # 查看容器日志
docker logs -f --tail 100 容器id # 查看容器最后100行日志
docker logs -f --tail 100 -t 容器id # 查看容器最后100行日志并显示时间
docker logs -f --tail 100 -t --since 2021-04-19 --until 2021-04-20 容器id # 查看容器2021-04-19到2021-04-20的日志
docker cp 容器id:容器内路径 宿主机路径 # 从容器拷贝文件到宿主机
docker cp 宿主机路径 容器id:容器内路径 # 从宿主机拷贝文件到容器
# 检查容器里文件系统结构的更改【A:添加文件或目录 D:文件或者目录删除 C:文件或者目录更改】
docker diff 容器id
docker container inspect 容器id # 查看容器信息
docker container inspect -f '{{.State.Pid}}' 容器id # 查看容器pid
docker inspect image / network / volume / container # 查看镜像/网络/卷/容器信息
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
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
# docker镜像加速
换源阿里镜像,配置网站 (opens new window)
/etc/docker/daemon.json 是Docker的核心配置文件
要通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://9cb7fdwl.mirror.aliyuncs.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Protainer安装
Portainer的工作原理是在易于使用的GUI后面隐藏 使管理容器变得困难的复杂性。通过消除用户使用CLI,编写YAML或理解清单的需求,Portainer使部署 应用程序和解决问题变得如此简单,任何人都可以做到。 https://documentation.portainer.io/ (opens new window)
部署脚本:
# 服务端部署
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-ce
# 访问 9000 端口即可
#agent端部署
docker run -d -p 9001:9001 --name portainer_agent --restart=always -v
/var/run/docker.sock:/var/run/docker.sock -v
/var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
admin用户的token:**立刻拷贝该 Token,因为以后将无法获取它。**
11a89e9d34eff1911a5004b4aae6ea22b6
1
2
2
# 命令参考
docker pull
docker run
1
2
3
4
5
6
7
2
3
4
5
6
7