目录
一、Centos安装部署docker
1.centos安装docker
1.1.卸载旧版本docker(可选)
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
1.2.安装docker
1.2.1设置docker镜像源
下面命令复制一起执行
yum-config-manager
--add-repo
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed -i 's/download.docker.com/mirrors.aliyun.com/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
yum makecache fast
1.2.2:安装docker
yum install -y docker-ce
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
到此docker安装完毕
检查是否安装成功,如下
docker -v
1.2.3:启动docker
Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙。
关闭防火墙
systemctl stop firewalld
启动docker
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
2: 安装docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
检查是否安装成功,如下
docker-compose -v
3.docker 部署Java项目
3.1、将jar包上传到centos上
3.2、编写Dockerfile文件
创建文件名为Dockerfile的文本文件,将maven打包好的jar包和Dockerfile文件放在同一目录下,内容如下:
3.3.Dockerfile文件内容
FROM java:8
COPY small_demo.jar app.jar #前面是自己jar包名字,后面是你重命名的名字
RUN bash -c "touch /app.jar"
EXPOSE 8080 #暴露的端口号
ENTRYPOINT ["java", "-jar", "app.jar"]
3.4.制作镜像
small是你取得镜像名字
docker build -t small .
制作完成,查看镜像
docker image ls
3.5.启动容器
8080是镜像端口 对应 8081是你项目端口号,small是容器名字
docker run -d -p 8080:8081 small
3.6.重启docker
systemctl restart docker
3.7.再重启docker 容器
dockers start 容器id
二、镜像基本操作篇
下载镜像
docker pull 镜像名
docker pull hello-world
导入镜像文件
镜像导入(要在hello-world.tar.gz 文件所在目录下执行)
docker load < hello-world.tar.gz
删除镜像文件
docker image rm hello-world
查看镜像
docker images
导出镜像文件
镜像导出(linux系统中的镜像文件下载到本地-例如window),导出后给他人使用
docker save hello-world | gzip > hello-world.tar.gz
运行镜像文件
基于镜像,启动容器运行。
docker run hello-world
三、容器基本操作篇
容器是在镜像上使用的,要先得有镜像文件,才能启动!!,详细操作看镜像篇
查看容器
docker ps -a (all的简写)
启动容器
命令:docker run -it xxxx bash
1)xxxx - 镜像名, 或 image id 的前几位,
2)-it 这是两个参数(-i表示交互式操作, -t 表示终端)
- bash 表示进入操作终端,基于交互式进行相关操作(例如执行linux相关指令)。
例:
docker run -it centos:7 bash
进入(exec)指定容器
docker exec -it 802 bash #802为容器id
从容器(Container)中退出(exit)
exit
停止运行的容器
docker container stop 802 #802为容器自己的id
重新启动容器
docker container restart 802 #802位容器自己的id
删除容器
docker (container) rm -f(强制删除) 9a1(容器的id)
清理所有处于终止状态容器
docker container prune
版权归原作者 小王码库 所有, 如有侵权,请联系我们删除。