五、SpringBoot-docker(安装、操作)

安装

docker三大组件:镜像,容器,仓库
我这边是root登录,如果非root用户命令前加 sudo

  1. 安装依赖
yum install -y yum-utils  device-mapper-persistent-data  lvm2 
  1. 安装依赖
yum-config-manager  --add-repo   https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装containerd.io(这里默认安装最新版本的docker,若要安装指定版本请参考官方文档https://docs.docker.com/engine/install/centos/)
yum install docker-ce docker-ce-cli containerd.io

安装最新版,这步一般会报错:

Error:
Problem: package docker-ce-3:19.03.6-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
cannot install the best candidate for the job
package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
.......

需要安装最新的依赖,这步不是唯一的,docker更新版本后可能需要更高版本。

dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm 

安装完成后再次执行

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

注意:
安装时必须保证网络流畅,否则会安装失败。



操作

  1. 查看版本
	docker -v
	docker version
  1. 查看详情
	docker info
  1. 帮助命令
	docker --help
  1. 启动docker,设置开机启动
启动
	systemctl start docker
重启
	systemctl restart docker
开机启动
    systemctl enable dockr
  1. 下载容器
	docker pull 容器
例如
	docker pull mysql:5.7
  1. 重启容器、停止容器、杀掉一个容器、获取日志
重启容器
	docker restart mysql
停止容器
	docker stop  mysql
杀掉一个容器
	docker kill mysql
获取日志	
	docker logs
根据IMAGE ID删除容器
	docker rmi <image_id>
	docker rmi if <image_id>  强制删除


  1. 镜像操作 image
查看当前所有镜像
	docker images
	docker image ls
列出本地所有镜像
	docker images -a
只显示镜像ID
	docker images -q
显示镜像的摘要信息
	docker images --digests
显示完整的镜像信息
	docker images --no-trunc
删除指定镜像
	docker image rm
REPOSITORY:表示镜像仓库资源
TAG:镜像的标签
CREATED:镜像创建时间
SIZE:镜像大小
  1. 查看正在运行的容器

可用于进入容器内

	docker ps
  1. 进入容器内部
	 docker exec -it 容器id或names /bin/bash
例如:
	docker exec -it mysql /bin/bash
也可以这样
	docker exec -it redis redis-cli
  1. 退出容器
	exit
  1. 安装mysql
	docker pull mysql:5.7
  • 启动mysql并挂载目录
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
  • 在linux下的/mydata/mysql/conf目录下,新建my.cnf
[client]
default-character-set-utf8

[mysql]
default-character-set-utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

设置mysql跟随docker启动

先执行
	docker ps -a
查看当前的容器
再执行下边命令:
	docker update mysql --restart=always

取消自动启动

docker update --restart=no<CONTAINER ID>
docker update --restart=no 1dccfbc7bc50

  1. 安装redis
必须先建好redis.conf文件,否则挂载时会将它当成文件夹
	mkdir -p /mydata/redis/conf
	touch /mydata/redis/conf/redis.conf

启动容器并挂载目录
	docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

进入容器内部
	docker exec -it redis redis-cli
  1. 获取运行时信息
    docker inspect nginx

下边部分命令未实际操作,仅供参考,后续完善

image
docker image pull xxx:tag 下载指定的镜像
docker image ls 列出本地所有镜像文件
docker image rm 删除指定的镜像

docker container ls = docker ps 显示所有容器
docker container run 启动一个容器,要注意容器启动时候的启动参数
栗子: docker container run --name nginx1 -d nginx:1.14-alpine
docker inspect nginx1 获取nginx1运行时的信息
docker create 创建一个新的容器
docker exec

docker attach 连接到某个容器
docker logs 获取container的日志
docker restart 重起容器
docker stop 停止容器
docker kill 杀掉一个容器
docker rm 删除一个容器

docker-compose操作

安装docker-compose

curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-Linux-x86_64 -o /usr/local/bin/docker-compose   # 等效上面的命令
chmod +x /usr/local/bin/docker-compose

查看版本:

docker-compose --version
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值