Docker

1.安装docker

注意docker社区版安装要求Cenos7以上

在Linux下执行如下命令

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
 

2.安装

安装yum工具
yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken
更新本地镜像源:
# 设置docker镜像源
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
安装docker社区版:
yum install -y docker-ce
 

2.启动docker

启动docker前首先关闭防火墙

1.指令

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

2.配置镜像

第一步:
 sudo mkdir -p /etc/docker
第二步:
 sudo tee /etc/docker/daemon.json <<-'EOF'
 {
"registry-mirrors": ["https://lnyncmfa.mirror.aliyuncs.com"]
 }
EOF
第三步:
sudo systemctl daemon-reload
sudo systemctl restart docker

3.Docker基本操作

1.docker文档帮助命令

--help

2.镜像操作命令

docker images 查看镜像

docker rmi 删除镜像

docker pull 从服务拉取镜像

docker push 推送镜像到服务

docker save 保存镜像为一个压缩包

docker load 加载镜像压缩包

1)操作实例拉取查看镜像

2)操作实例保存导入实例

删除镜像

3.容器相关命令

docker run创建容器并运行

docker pause 暂停运行

docker unpause 恢复运行

docker stop 停止运行

docker start 容器运行

docker ps 查看所有运行的容器及状态

docker logs 查看容器运行日志

docker exec 进入容器执行命令

docker exit 退出容器

docker rm 删除指定容器

1)容器运行实例

去hub查看Nginx容器运行命令

docker run --name [] -p 80:80 -d nginx

--name:给容器起一个名字,[]中为名字

-p:将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧为容器端口

-d :后台运行容器

容器部署成功(80端口省略没写)

查看日志

2)进入容器实例

docker exec -it (name) bash

进入容器后修改首页信息

sed -i  's#Welcome to nginx#rzp is handsome man#g' index.html
sed -i  's#<head><meta charser="utf-8">#g' index.html

3)操作Redis容器实例

4.数据卷相关命令

docker volume create 创建数据卷

docker volume ls 查看当前数据卷

docker volume inspect 查看指定数据卷信息

docker volume rm 删除指定数据卷

docker volume prune 删除未使用的数据卷

1)挂载数据卷

在创建容器时,通过-v参数来挂载数据卷到某个容器目录,注意-v之后 是数据卷:需要挂载的容器内目录地址

创建容器

前往挂载目录可以看到之前需要进入容器查看的文件已经在本地目录下了

利用vi/vim即可对文件直接修改

另外如果容器运行时volume不存在,挂载后会自动创建

2)Mysql实例运行

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123 -p 3306:3306 -v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf -v /tmp/mysql/data:/var/lib/mysql -d  mysql:5.7.25

可创建mysql容器,同时将目录及文件均完成挂载,但是由于本机Mysql端口已占用,因此无法创建

5.自定义镜像Dockerfile

后续需要时再补充

 

6.部署微服务集群

1)安装dockercompose

将dockercompose指定目录

 

 

 

2)修改权限

chmod +x /usr/local/bin/docker-compose

 

 

 3)自动补全功能添加

 

 补全命令

curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

如果报错

echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

 

 4)微服务集群部署

编写相关compose文件及配置文件

 

 

 

上述微服务在集群中可以直接通过服务名称访问(例如直接使用orderservice)

 

 

 因此需要将对应的java文件环境修改成服务名称

 

 

 

 

 

 

 

 通过maven打包工具打包,注意所有相关服务下POM设置

<build>
    <finalName>app</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

将对应的jar包放在文件夹下

 

 

 

 将整个微服务文件夹上传到虚拟机,利用docker-compose up -d 来部署

7.docker镜像仓库

搭建私有镜像仓库

向镜像仓库推送镜像

从镜像仓库拉取镜像

 

 

 

 
 
 
 
 
 
 
 
posted @ 2022-06-10 21:02  面向机器编程  阅读(16)  评论(0编辑  收藏  举报