Docker安装与使用

1. docker安装

官网地址:https://docs.docker.com/engine/install/centos/

1.在安装docker之前,首先使用yum -y remove docker命令移除系统中已有的旧版本的docker
 yum -y remove docker

在这里插入图片描述
在这里插入图片描述

使用 yum 安装

安装 yum-utils
yum install -y yum-utils

设置 yum 源为阿里云方便下载 Docker Engine

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装最新版本的 Docker Engine 和容器

yum install docker-ce docker-ce-cli containerd.io

Docker 命令

启动 docker
sudo systemctl start docker
停止 docker
sudo systemctl stop docker
重启 docker
sudo systemctl restart docker
设置开机启动
sudo systemctl enable docker
查看 docker 状态
sudo systemctl status docker
查看 docker 内容器的运行状态
sudo docker stats
查看 docker 概要信息
sudo docker info
查看 docker 帮助文档
sudo docker --help

安装校验

[root@iZ2ze55utcxcqh66vercheZ ~]# docker -v

Docker version 19.03.13, build 4484c46d9d
[root@iZ2ze55utcxcqh66vercheZ ~]# docker version
Client: Docker Engine - Community
 Version:           19.03.13
 API version:       1.40
 Go version:        go1.13.15
 Git commit:        4484c46d9d
 Built:             Wed Sep 16 17:03:45 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.13
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       4484c46d9d
  Built:            Wed Sep 16 17:02:21 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.3.7
  GitCommit:        8fba4e9a7d01810a393d5d25a3621dc101981175
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
[root@iZ2ze55utcxcqh66vercheZ ~]# 
配置镜像加速器

/etc/docker 目录下没有daemon.json。新创建一个 touch daemon.json

[root@iZ2ze55utcxcqh66vercheZ docker]# pwd
/etc/docker
[root@iZ2ze55utcxcqh66vercheZ docker]# ll
total 8
-rw-r--r-- 1 root root 121 Nov 22 00:18 daemon.json
-rw------- 1 root root 244 Nov 22 00:00 key.json
[root@iZ2ze55utcxcqh66vercheZ docker]# 
重新加载某个服务的配置文件
systemctl daemon-reload
重新启动 docker
systemctl restart docker
检查加速镜像是否生效
docker info

在这里插入图片描述

docker部署spring boot 项目

docker开启远程安全访问

一、 编辑docker.service文件
vim /usr/lib/systemd/system/docker.service

添加脚本:

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

在这里插入图片描述

加载配置文件并重新启动docker
systemctl daemon-reload
systemctl restart docker
访问 http://IP:2375/version

在这里插入图片描述

创建DockerFile文件

在这里插入图片描述

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD project-demo1-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EXPOSE 8000
修改 Pom.XML
 <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- Docker maven plugin -->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory>src/main/docker</dockerDirectory>
                    <dockerHost>http://远程服务器IP:2375</dockerHost>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>
打包 install 之后点击 docker:build

在这里插入图片描述
完成
在这里插入图片描述

登录远程服务器查看镜像是否已经存在

在这里插入图片描述

执行命令启动
docker run  -p 8080:8000 --name springboot -dit [IMAGES_ID]
docker run -d hello-world(不要这么做)
docker run -dit hello-world(推荐)     
查看日志
docker logs -f  project-demo1
删除docker镜像
docker ps -a
docker rm  [CONTAINER ID]
docker stop [CONTAINER ID]
docker restart [CONTAINER ID]
docker images
docker rmi [IMAGE ID]
进入docker内部
docker exec -it 3dd385056237     /bin/bash
docker exec -it 3dd385056237     /bin/sh
进入容器命令:
docker attach 容器ID
或者
docker exec -it 容器ID /bin/bash 
或者

docker exec -it 容器的name bash
退出容器命令
exit
或者
Ctrl+P+Q
容器内部访问外部MySQl连接不同的问题
java.sql.SQLException: null,  message from server: "Host 'xxx' is not allowed to connect to this MySQL server":

解决:
方案一:改表:

mysql -u root -p;
use mysql ;
select user,host,password from user;
update user set host = '%' where user='root';

方案二:授权法:
例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON . TO ‘myuser’@’%’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON . TO ‘myuser’@‘192.168.1.3’ IDENTIFIED BY ‘mypassword’ WITH GRANT OPTION;

无论使用哪种方案,请重启Mysql服务。

docker安装redis

拉取redis 最新镜像

访问 Redis 镜像库地址: https://hub.docker.com/_/redis?tab=tags。

docker pull redis:latest

启动redis镜像

docker run -itd --name redis-test -p 6379:6379 redis
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值