Docker部署及使用

本文详细介绍了如何在CentOS7环境下安装Docker,包括卸载旧版本、添加阿里云镜像源、安装DockerEngine及DockerCompose。接着,列举了Docker常用命令,如管理镜像和容器、端口映射等。此外,还展示了如何使用Docker实战安装Tomcat、MySQL以及实现多实例数据共享,以及RabbitMQ的部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

docker安装

环境

 1. 服务器阿里云
 2. CentOS Linux 7

安装

1.卸载旧脚本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.安装依赖包(使用国内)
设置存储库
安装yum-utils包(它提供了yum-config-manager实用程序)并设置存储库。

sudo yum install -y yum-utils
sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3.安装Docker引擎
安装Docker Engine、container和Docker Compose

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

4.启动Docker

sudo systemctl start docker

5.通过运行hello-world镜像来验证Docker引擎安装是否成功

sudo docker run hello-world

打印中有 Hello from Docker! 表示启动成功

参考官方文档

https://docs.docker.com/engine/install/centos/

Docker命令

Docker命令图解

在这里插入图片描述

Docker常用命令

#看所有镜像
docker images
#查看正在运行的容器
docker ps
#查看所有容器
docker ps -a
#查看已退出容器
docker ps -a -q
#启动镜像ubuntu
docker run -it ubuntu /bin/bash
#后台启动容器
docker run -d 镜像名
#根据容器id进入正在运行的容器(开启新终端)
docker exec -it 容器的id bash
#根据容器id进入正在运行的容器(进入正在执行终端)
docker attach 容器id
#启动退出的容器
docker start 容器的id
#重启容器
docker restart 容器的id
#停止容器
docker stop 容器id
#强制停止容器
docker kill 容器id
#docker映射目录, 宿主机的/test目录挂载到容器的/soft目录
docker run -it -v /test:/soft centos /bin/bash
#端口映射, 运行镜像并添加端口, 格式: 容器外:容器内 
docker run -d -p 8000:80 ubuntu /bin/bash
#多个端口
docker run --name ubuntu -d -p 51000:22 -p 51001:3306   -p 51003:6379 -p 51004:6381  -p 51005:80 -p  51006:8000 -p 51007:8888 ubuntu /bin/bash
#提交容器成为一个新镜像
docker commit -m="提交的描述信息” -a=”作者” 容器id 目标像名:[TAG]
#删除容器
docker rm 容器id
#删除所有的容器
docker rm -f $(docker ps -aq)
#删除镜像
docker rmi "image"
#备份容器到文件
docker save -o ~/main.tar ubuntu
#加载容器
docker load -i ~/container-backup.tar
#保存时压缩
docker save d227774c2960 | gzip > docker_file.tgz
#加载压缩的镜像
docker load < docker_file.tgz 
#docker复制文件到容器
docker cp wang.zip 容器的id:/home
#复制容器内的文件到宿主机
docker cp 容器的id:/home/wang.zip /opt
#直接容器停止并退出
exit
#容器不停止退出
ctrl + p + Q 
#拉取镜像
docker pull 目标像名:[TAG]
#将自己镜像推送到服务器上
docker push 镜像名:[TAG]
#查看docker日志 tf显示日志 tail number显示条数
docker logs -tf --tail number容器id
#容器的变更历史
docker history 容器id
#实现数据同步
--volumes-from

DockerFile指令

DockerFile指令图解

在这里插入图片描述

DockerFile指令

FROM 			#基础镜镜像,一切从这里开始构建
MAINTAINER 	# 镜像是谁写的,姓名+邮箱
RUN 				#镜像构建的时候需要运行的命令
ADD 				#步骤:tomcat镜像,这个tomcat压缩包! 添加内容
WORKDIR 		#镜像的工作目录
VOLUME 		#挂载的目录
EXPOSE 		#保留端口配置
CMD 				#指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT #指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD 		#当构建一个被继承 DockerFile这个时候就会运行ONBUILD的指令。触发指令
COPY				# 类似ADD,将我们文件拷贝到镜像中
ENV 				#构建的时候设置环境变量!

实战

安装tomcat

docker run -it --rm -p 8888:8080 tomcat:9.0

安装mysql

简单使用mysql

docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

多个mysql实现数据共享

1. docker run -d -p 3310:3306 -v /text/etc/mysql/conf.d:/etc/mysql/conf.d -v /text/var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysq102 mysql:5.7
2. docker run -d -p 3311:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysq103 --volumes-from mysq102 mysql:5.7 

简单安装RabbitMQ

docker run -d --hostname my-rabbit -p 15672:15672 -p 5672:5672 -p 25672:2567 --name some-rabbit rabbitmq:3-management

请求http://host-ip:15672
账号/密码默认guest/guest

参考官方文档

https://hub.docker.com/

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值