1、环境准备:Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。
2、查看是否安装过docker:docker -v;如果出现这个: -bash: docker: command not found 说明没有安装过,如果出现这个:Docker version 20.10.17, build 100c701 说明安装了,需卸载;
3、卸载(没安装不需要执行)
yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine docker-ce
4、安装yum工具:yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
5、更新本地镜像源:
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
6、安装:yum install -y docker-ce 注意:docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
7、启动、停止、重启
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
8、查看docker版本 docker -v
9、镜像加速器,参考文档 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
9-1、vim /etc/docker/daemon.json 没有就新建个。例如:
{
"registry-mirrors": ["https://ldoa4nta.mirror.aliyuncs.com"]
}
}
9-2、systemctl daemon-reloads
9-3、systemctl restart docker
====================================================
-- CentOS7安装DockerCompose
1、安装epel源
yum install -y epel-release
2、安装docker-compose
yum install -y docker-compose
3、 修改权限(需要先找到docker-compose文件位置)
chmod +x /usr/local/bin/docker-compose
====================================================
docker常用命令:
======镜像相关======
01、docker build 构建镜像
02、docker push 推送镜像到服务 几乎不用
03、docker pull 从服务拉取镜像 例:docker pull nginx:1.20
04、docker save 保存镜像为一个压缩包 例:docker save -o ./nginx.tar nginx:1.20
05、docker load 加载压缩包为镜像 例:docker load -i nginx.tar
06、docker images 查看镜像
07、docker rmi 删除镜像 例:docker rmi nginx:1.20 或 镜像ID
======容器相关======
08、docker run --name nginxcon -p 8080:80 -d nginx:1.20 创建运行一个Nginx容器
08-1、docker run :创建并运行一个容器
08-2、--name : 给容器起一个名字,比如叫做nginxcon
08-3、-p:将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口
08-4、-d:后台运行容器
08-5、nginx:镜像名称,例如nginx
09、docker logs 容器名,例:docker logs -f nginxcon
10、查看容器状态:docker ps –a 查询所有容器(运行或非运行)
11、批量启动所有容器:docker start `docker ps -a -q`
12、暂停/运行容器:docker pause/unpause nginxcon(容器名称)
13、停止/运行容器:docker stop/start nginxcon(容器名称)
14、删除指定容器:docker rm
======容器内相关操作======
15、进入容器:docker exec -it mn bash
15-1、docker exec :进入容器内部,执行一个命令
15-2、-it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互
15-3、mn :要进入的容器的名称
15-4、bash:进入容器后执行的命令,bash是一个linux终端交互命令
16、数据卷相关操作:docker volume [COMMAND]
16-1、create 创建一个volume
16-2、inspect 显示一个或多个volume的信息
16-3、ls 列出所有的volume
16-4、prune 删除未使用的volume
16-4、rm 删除一个或多个指定的volume
17、创建容器时挂载数据卷:docker run --name mn -v html:/root/html -p 8080:80 nginx:1.20
17-1、docker run :就是创建并运行容器
17-2、-- name mn :给容器起个名字叫mn
17-3、-v html:/root/html :把html数据卷挂载到容器内的/root/html这个目录中
17-4、-p 8080:80 :把宿主机的8080端口映射到容器内的80端口
17-5、nginx :镜像名称
例:docker run --name=mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v mysqlconf:/etc/mysql/conf.d -v mysqldata:/var/lib/mysql -d mysql:5.7
18、基于Dockerfile运行容器:docker build -t javaweb:1.0 . (最后面有个".",代表当前文件)
18-1、把jar包和Dockerfile(必须是这个名称)放在同一个目录
18-2、编写Dockerfile,内容样例如下:
# 指定基础镜像
FROM java:8-alpine
# 拷贝jdk和java项目的包
COPY ./docker-demo.jar /tmp/app.jar
# 暴露端口
EXPOSE 8090
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar
# 注意:此方式基于 java:8-alpine镜像,而java:8-alpine镜像又基于centos7,所以要先把java:8-alpine、centos7都pull下来
=======================================================
本文详细介绍如何在CentOS7上安装Docker CE版本及Docker Compose,并提供了常用Docker命令示例,包括镜像和容器的操作。

3078


被折叠的 条评论
为什么被折叠?



