Docker安装和简单使用
# Docker安装
# 1、查看内核
# Docker 要求 CentOS 系统的内核版本高于 3.10 查看内核命令
uname -r
1
2
2
# 2、安装yum包
# 使用root权限登录,确认yum包最新
yum -y update
1
2
2
# 3、卸载旧版本
# 卸载旧版本(如果安装过旧版本的话)
yum remove docker docker-common docker-selinux docker-engine
1
2
2
# 4、安装依赖
# 安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
1
2
2
# 5、设置yum源
# 设置yum源,并更新 yum 的包索引,国内建议云阿里云
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
1
2
3
2
3
# 6、查看docker版本
# 查看仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
1
2
2
# 7、安装docker
yum -y install docker-ce-18.03.1.ce # 这是指定版本安装
yum -y install docker-ce # 这是安装最新稳定版
1
2
2
# 8、开机启动
systemctl start docker
systemctl enable docker
1
2
2
# 9、关闭/重启
# 关闭
systemctl stop docker
# 重启
systemctl daemon-reload
systemctl restart docker
1
2
3
4
5
2
3
4
5
# 10、验证
# 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
1
2
2

# 11、卸载
yum list installed | grep docker
yum -y remove docker-ce.x86_64
1
2
2

# Docker简单使用
# 镜像相关命令
# 1、搜索镜像
可使用 docker search命令搜索存放在 Docker Hub中的镜像。执行该命令后, Docker就会在Docker Hub中搜索含有 java这个关键词的镜像仓库。
比如: docker search java
1
2
2

以上列表包含五列,含义如下:
- NAME:镜像仓库名称。
- DESCRIPTION:镜像仓库描述。
- STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于GitHub的stars0
- OFFICAL:表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维护。
- AUTOMATED:表示是否是自动构建的镜像仓库。
1
2
3
4
5
6
7
2
3
4
5
6
7
# 2、相关命令
docker pull java:8 # 下载镜像
docker images # 查询已下载的镜像
docker rmi java # 删除镜像
docker rmi -f java # 强制删除
docker rmi $(docker images -q) # 删除所有
1
2
3
4
5
2
3
4
5
# 容器相关命令
# 1.创建容器
使用以下docker run命令即可新建并启动一个容器,该命令是最常用的命令,它有很多选项,下面将列举一些常用的选项。
-d选项:表示后台运行
-P选项:随机端口映射
-p选项:指定端口映射,有以下四种格式。
-- ip:hostPort:containerPort
-- ip::containerPort
-- hostPort:containerPort
-- containerPort
--net选项:指定网络模式,该选项有以下可选参数:
--net=bridge:默认选项,表示连接到默认的网桥。
--net=host:容器使用宿主机的网络。
--net=container:NAME-or-ID:告诉 Docker让新建的容器使用已有容器的网络配置。
--net=none:不配置该容器的网络,用户可自定义网络配置。
--name 为容器指定名字
第一个80表示外部端口,第二个表示docker内部端口
第一个name表示容器名,第二个name表示镜像名
docker run -d --name nginx -p 80:80 nginx
docker run -d --name 容器名 -p 外部端口:内部端口 镜像名
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 2.相关命令
以nginx为例
docker ps # 只查看启动的容器
docker ps -a # 查看所有容器
docker start nginx # 启动容器
docker stop nginx # 停止容器
docker kill nginx # 强制停止
docker rm nginx # 删除容器
docker rm -f $(docker ps -a -q) # 强制删除所有容器
docker rmi $(docker images | grep "none" | awk '{print $3}') # 删除none匿名容器
docker inspect nginx # 查看容器信息
docker container logs nginx # 查看容器日志
docker logs -f -t --since='2021-09-19' --tail=1000 xxx.jar # 查看容器服务日志
docker top nginx # 查看容器进程
docker cp /opt/work/api/cert nginx:/etc/nginx/ #把文件拷到容器内部
docker cp nginx:/etc/nginx/nginx.conf /opt/work/nginx #把容器内容文件拷出来
docker exec -it ngxin /bin/bash #进入容器 (有的容器需要把 /bin/bash 换成 bash)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 问题记录
# 1.容器内没有命令执行权限
# 容器内安装vim、ping、ifconfig等指令
apt-get update
apt-get install vim #安装vim
apt-get install iputils-ping #安装ping
apt-get install net-tools #安装ifconfig
1
2
3
4
5
2
3
4
5
上次更新: 2026/3/11 22:17:56