CentOS Stream 8中安装和使用 Docker

docker安装包-CSDN博客

〇、常用的docker命令

docker的作用:

快速进行软件的安装,便于软件环境的维护

docker的镜像:

压缩了指定软件的安装包的文件。使用镜像文件创建容器

docker的容器:

容器可以理解为就是一台小电脑。安装的linux系统,并且安装了指定的软件。

docker的常用命令:

docker pull 镜像名称:版本 从镜像库中下载指定的镜像文件

docker images 查看本地镜像库的镜像文件

docker rmi 镜像ID 删除镜像文件,但是前提是没有该镜像创建的容器存在!

docker run -d -p 宿主主机端口号:容器端口号 --name 容器名称 其他参数 镜像Id 创建并启动容器(容器不一定启动成功,需要查看启动日志)

docker logs -f 容器名称 查看容器的日志

docker container ls 查看正在运行的容器

docker container ls -a 查看启动过的容器列表

docker stop 容器名称 关闭容器

docker start 容器名称 启动容器

docker rm 容器名称 删除容器

docker inspect 容器名称 查看容器信息

docker exec -it 容器名称 /bin/bash 进入容器的命令终端(容器必须是启动状态)

docker cp 宿主主机文件路径 容器名称:容器内部路径 将宿主主机指定的文件复制到容器中

docker cp 容器名称: 容器内部文件路径 宿主主机路径 将容器内部的文件复制到宿主主机中



一、使用虚拟机

使用VM 版本为16.2.1 ,安装Linux的CentOS Stream 8操作系统



二、在虚拟机中安装docker

1)windos中安装Xshell7和Xftp7,官网傻瓜式安装

使用xshell连接linux,在xshell中打开xftp会自动连接虚拟机。

2)使用xftp将docker的安装包放入 /usr/local/tmp 路径中

3)离线版安装docker

因为官网下载可能会比较慢,这里直接使用预下载好的软件

docker安装包-CSDN博客

bash 复制代码
cd /usr/local/tmp

yum localinstall containerd.io-1.2.6-3.3.fc30.x86_64.rpm  
    //安装container-io,由于container-io需要秘钥,所以需要使用yum安装方式,需要确认

rpm -ivh libcgroup-0.41-19.el8.x86_64.rpm
    //安装Docker-Ce的依赖

rpm -ivh docker-ce-cli-19.03.13-3.el8.x86_64.rpm
    //安装Docker客户端

rpm -ivh docker-ce-19.03.13-3.el8.x86_64.rpm
    //安装Docker-ce

4)在线版安装docker

bash 复制代码
curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo
    //下载docker-ce repo

yum install -y https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
    //安装依赖

yum install -y docker-ce
    //安装docker-ce

5)开启docker 开机自启 查看docker状态

bash 复制代码
systemctl start docker

systemctl enable docker

docker info


三、 使用docker

1)配置阿里云镜像代理

①登录阿里云,找到镜像服务
②找到镜像加速器
③ 使用这四个命令
bash 复制代码
mkdir -p /etc/docker


tee /etc/docker/daemon.json <<-'EOF'
{ 
"registry-mirrors": ["https://mirror.aliyuncs.com"] 
} 
 EOF


systemctl daemon-reload

systemctl  restart docker

2) 在docker中创建和使用docker容器

①下载jdk8
bash 复制代码
docker pull openjdk:8
② 创建一个springBoot项目 并打包命令为my.jar

这里也可以使用ideamaven管理依赖中的docker命令自动打包到docker中

XML 复制代码
<build>
        <plugins>
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.2.2</version>
                <configuration>
                    <imageName>my:2.0</imageName>  <!--指定镜像名称 仓库/镜像名:标签-->
                    <baseImage>openjdk:8</baseImage> <!--指定基础镜像-->
                    <dockerHost>http://192.168.222.128:2375</dockerHost>  <!-- 指定服务器仓库地址 -->
                    <entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint> <!-- 容器启动执行的命令 -->
                    <resources>
                        <resource>
                            <targetPath>/</targetPath> <!-- 指定要复制的目录路径,这里是当前目录 -->
                            <directory>${project.build.directory}</directory> <!-- 指定要复制的根目录,这里是target目录 -->
                            <include>${project.build.finalName}.jar</include> <!-- 指定需要拷贝的文件,这里指最后生成的jar包 -->
                        </resource>
                    </resources>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mainClass>${start-class}</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
③ 在xftp中 /usr/local/docker 路径下放入my.jar
④同时新建buildFile文件,写入:
bash 复制代码
FROM openjdk:8
VOLUME /var/mydatas
ADD my.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
EXPOSE 8080
⑤ 创建镜像的docker容器
bash 复制代码
docker build -f /usr/local/tmp/buildFile -t my:1.0 .
⑥ 启动容器
bash 复制代码
docker run --name demo -p 8080:8080 -d demo:1.0
⑦成功访问


3)将镜像文件上传至阿里云个人镜像仓库中

① 登录阿里云,创建仓库
②按照阿里云给出的提示pull和push

4)配置本地镜像仓库

下载本地仓库镜像
XML 复制代码
 docker pull registry

修改 Docker Service配置
XML 复制代码
vim /usr/lib/systemd/system/docker.service


--insecure-registry 192.168.50.129:5000  //文件中加入主机ip及端口号

修改 Docker Daemon配置
XML 复制代码
vim /etc/docker/daemon.json

重启 Docker服务
XML 复制代码
systemctl daemon-reload

systemctl restart docker

查看本地仓库


本机镜像仓库和其他docker容器的推送和拉取

需要镜像源的id 和主机的ip 及 docker软件的端口号

push

XML 复制代码
docker tag 7869938f430a 192.168.50.129:5000/test:1.0

docker push 192.168.50.129:5000/test:1.0

pull

XML 复制代码
docker pull 192.168.50.129:5000/test:1.0

四、数据卷容器

五、windows连接linux内部的docker容器的mysql软件

相关推荐
炽天使几秒前
aws rds-mysql不支持性能详情监控
linux·数据库·mysql·云计算·aws·rds
csdn_金手指7 分钟前
docker 通过Dockerfile自定义的镜像部署Springboot项目
spring boot·docker·容器
追风赶月、19 分钟前
【Linux】线程同步与互斥
linux
Karoku0661 小时前
【docker集群应用】Docker网络与资源控制
运维·数据库·docker·容器
梦游钓鱼1 小时前
pyshark安装使用,ubuntu:20.04
linux·运维·ubuntu
火龙谷1 小时前
CentOS7将yum源更换为国内源教程
linux·centos
战族狼魂2 小时前
CentOS 上安装各种应用的命令行总结
linux·运维·centos
学Linux的语莫2 小时前
ansible变量
linux·运维·服务器·ansible
北京迅为2 小时前
【北京迅为】iTOP-4412全能版使用手册-第十二章 Linux系统编程简介
linux·嵌入式硬件·4412开发板
清源妙木真菌2 小时前
Linux:进程控制
linux