Ezio's Blog
Posts Categories Tags Music Mood About
Ezio's Blog· Light
☰ Menu
Posts Categories Tags Music Mood About
Expand all Back to top Go to bottom

Docker

Author: Ezio Date: July 20, 2022  12:52:20 Category: Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。


安装Docker

以Linux系统为例,Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。

1.首先安装yum工具
1
2
3
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
2.更新本地镜像源,换为阿里镜像。
1
2
3
4
5
6
7
8
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast
3.安装docker
1
yum install -y docker-ce
4.启动docker
1
2
3
4
5
6
7
systemctl start docker  # 启动docker服务

systemctl stop docker # 停止docker服务

systemctl restart docker # 重启docker服务

systemctl status docker # 查看docker服务状态

然后输入命令,可以查看docker版本:

1
docker -v

PS:注意docker使用到的端口需要设置防火墙放开。

5.配置镜像加速

参考:阿里云镜像加速文档

1
2
3
4
5
6
7
8
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://al8twsu9.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker 常用命令

镜像操作

拉取镜像可以通过查看DockerHub获取想要的镜像

1
2
3
4
5
6
docker pull repository:tag  # 拉取一个镜像
docker images # 查看镜像
docker save -o [文件名,如nginx.tar] repository:tag # 导出镜像到压缩包
docker rmi repository:tag # 删除一个镜像
docker load -i [文件,如nginx.tar] # 加载一个镜像
docker push repository:tag # 上传本地镜像到镜像仓库中

容器操作

容器有三种状态:运行,暂停,停止

容器运行命令可以去DockerHub查看对应镜像帮助文档。

  • 创建运行容器
1
2
3
4
5
6
7
8
9
10
11
docker run \
--name containerName \
-p 80:80 \
-v [数据卷名称]:容器文件路径 \
-d repository:tag # 运行一个容器

# --name:给容器取名
# -p:将宿主机端口与容器端口进行映射,冒号左侧为宿主机端口,右侧为容器端口
# -d:后台运行容器 daemon守护进程
# -v:数据卷挂载
# repository:tag 镜像名
  • 查看容器运行状态
1
2
docker ps -a  # 查看所有容器
# -a:查看所有的容器,默认展示运行中的容器
  • 查看容器日志
1
2
3
4
docker logs -f containerName  # 查看容器运行的日志

# -f:类似tail -f,持续打印日志
# containerName:容器名
  • 进入容器并执行命令
1
2
3
4
5
docker exec -it containerName bash # 进入容器执行命令

# -it:给当前进入的容器创建一个标准输入、输出终端,允许与容器交互
# containerName:容器名
# bash:进入容器后执行的命令,bash是linux终端交互命令
  • 停止容器运行
1
docker stop containerName  # 停止容器运行
  • 开始运行容器
1
docker start containerName  # 开始运行容器
  • 删除容器
1
2
3
docker rm -f containerName  # 删除容器

# -f:强制删除运行中的容器
  • 暂停/继续容器运行
1
2
docker pause containerName  # 暂停容器运行
docker unpause containerName # 继续运行容器

数据卷(volume)

数据卷是一个虚拟目录,指向宿主机文件系统中的某个目录。

数据卷操作的基本语法:

1
docker volume [command]
1
2
3
4
5
docker volume create name  # 创建一个数据卷
docker volume ls # 列出所有数据卷
docker volume inspect name # 查看数据卷详细信息
docker volume prune # 删除本地未使用的数据卷
docker volume rm name # 删除指定数据卷

Author: Ezio

Permalink: https://ezioy.cn/2022/07/20/Docker/

License: Copyright (c) 2019 CC-BY-NC-4.0 LICENSE

Slogan: Nothing is true,Everything is permitted

Tag(s): # Docker
back · home
Feign Nacos
Ezio © 2019 - 2026 | Powered by Hexo & Chic | 访客数量:   浏览次数: | 渝公网安备50011302222043 | 渝ICP备2023013933号-1