Linix安装Docker及Docker相关命令

本文详细介绍如何在CentOS7上安装Docker CE版本及Docker Compose,并提供了常用Docker命令示例,包括镜像和容器的操作。

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下来
=======================================================


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值