Docker常用命令
安装
CentOS
卸载旧版docker
1
2
3
4
5
6
7
8sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine添加仓库、源
1
2
3
4
5
6
7
8# 先安装yum-utils工具
sudo yum install yum-utils -y
# 添加阿里云源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 官方源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo下载安装
1 | sudo yum install docker-ce docker-ce-cli containerd.io -y |
- 启动docker服务
1 | # 启动 |
常用命令
配置项
修改源
1
2
3
4
5
6
7
8
9
10
11
12
13# 配置文件: /etc/docker/daemon.json
{
"registry-mirrors": ["https://z34u8nau.mirror.aliyuncs.com"]
}
# 重载配置文件
systemctl daemon-reload
# 重启服务
systemctl restart docker
# 可能会需要登录操作
sudo docker login --username=用户名 registry.cn-hangzhou.aliyuncs.com
镜像操作
docker images
查看当前已下载的镜像: docker images
查看当前没有tag的镜像: docker images -f “dangling=true”
docker search
- 查找镜像: docker search xxxxx
docker pull
- 拉取镜像: docker pull xxxxx
docker save
- 导出镜像: docker save 镜像tag -o xxx.tar
docker rmi
删除镜像: docker rmi 镜像名称
删除没有tag的镜像: docker rmi $(docker images -f “dangling=true” -q) -f
docker imspect
- 查看镜像的信息: docker inspect 进行名称
容器操作
docker run
启动容器: docker run xxxx
交互式启动容器: docker run -it xxxx /bin/bash
后台启动容器: docker run -d xxxx 启动命令
docker exec
- 在指定容器中执行程序: docker exec -it 容器ID CMD
- 例如:
docker exec -it aa7c1b0a86ca /bin/bash
docker ps
- 查看当前运行的容器: docker ps
docker logs
- 查看容器的输出信息: docker logs 容器ID
docker stop
- 停止容器: docker stop 容器ID
docker attach
- 重新获取容器的终端: docker attach 容器ID
docker export
- 导出容器:docker export 容器ID > xxxxx.img
docker import
- 导入容器: cat xxxx.img | docker import - test/ubuntu:v1
docker rm
- 删除容器: docker rm -f 容器ID
推送镜像
修改配置:
1
2
3
4
5
6
7#配置文件 /etc/docker/daemon.json
{
"registry-mirrors": ["https://z34u8nau.mirror.aliyuncs.com"],
"insecure-registries":["192.168.1.220:51005"]
}
#添加 insecure-registries 配置(本地的服务器地址和端口)推送镜像到本地仓库
- 将镜像tag重命名: docker tag registry:2.7.1 192.168.1.220:51005/offline/registry:2.7.1
- 推送镜像: docker push 192.168.1.220:51005/offline/registry:2.7.1
dockerfile
| 命令 | 说明 |
|---|---|
| FROM | 指定使用的基础镜像,基于哪个镜像来指针当前的镜像 |
| RUN | 在构建容器时,在容器内执行指定的Shell命令(docker build 时执行) |
| COPY | 拷贝文件到容器中的指定目录 |
| CMD | 启动容器时,执行指定的命令(docker run 时执行,该命令与容器共存亡),该命令结束,则容器运行结束。可被docker run命令行中指定的参数所覆盖。如果一个Dockerfile中存在多个CMD命令,则只有最后一条生效。 |
| USER | 指定镜像运行时,默认的用户身份 |
| EXPOSE | 声明容器的暴露端口 |
- dockerfile文件示例
1 | ################################################### |
- 构建镜像
1 | docker build -t nginx:v3 . |