Docker安装
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
sudo yum update
3、卸载旧版本(如果安装过旧版本的话)
sudo yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
容器生命周期管理
创建一个新的容器并运行一个命令
docker run -d --name mynginx nginx:latest
docker run -d --name asp -p 8080:8080 app
docker run -it nginx:latest /bin/bash
创建一个新的容器但不启动它
docker create --name my nginx:latest
pause/unpause 命令
暂停数据库容器db01提供服务。
docker pause db01
恢复数据库容器db01提供服务。
docker unpause db01
docker start/stop/restart 命令
docker start asp
docker stop asp
docker restart asp
杀掉一个运行中的容器
docker kill name
删除一个或多个容器
docker rm asp
在运行的容器中执行命令exec
docker exec -it e6b171415e60 /bin/bash
容器操作
列出容器
docker ps -a
获取容器/镜像的元数据
docker inspect app:v1
查看容器中运行的进程信息
docker top asp
docker top a76fc395f6ee
获取容器的日志
docker logs asp
docker logs a76fc395f6ee
端口映射
docker port asp
docker port a76fc395f6ee
docker ps
rootfs命令
从容器创建一个新的镜像
docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
容器与主机之间的数据拷贝
docker cp /www/96f7f14e99ab:/www/
docker cp 96f7f14e99ab:/www /tmp/
检查容器里文件结构的更改
docker diff mymysql
本地镜像管理:
创建镜像:
docker build .
docker build -t nginx:v10 .
docker build -t nginx:v10 -f /path/Dockerfile /path
查看镜像:
docker images -a
删除镜像:
docker ps -a
删除该容器
docker rm eca596ce0f9d
删除镜像
docker rmi 525bd2016729
打标签:
docker tag app app:v1
镜像创建历史:
docker history app:v1
镜像保存成 tar :
save -o springboot.tar app:v1
导入镜像:
docker load < ./springboot.tar
从归档文件中创建镜像:
docker import ./springboot.tar app:v2
docker部署springboot项目
1、将项目打包成jar包
方式一:
方式二:
mvn clean install -Dmaven.test.skip=true
2、使用xftp6连接服务器上传文件
如果上传出错可能问题:
修改权限chmod 777 test(test是文件夹名)来改权限
chmod 777 ./demo-0.0.1-SNAPSHOT.jar
登录服务器的用户没有root权限,登录root用户
3、通过dockerfile的方式打包镜像
cd /usr/local/docker
#在docker创建新的文件夹
mkdir docker-springboot
#复制或移动jar包
cp springboot.jar /usr/local/docker/docker-springboot
#创建Dockerfile文件
vim Dockerfile
FROM java:8
VOLUME /tmp
ADD springboot.jar app.jar
EXPOSE 8080
ENTRYPOINT [ "java", "-jar"," /app.jar" ]
4、创建镜像
docker build -t app .
5、检查是否创建成功
docker images
6、运行dcoker
docker run -d --name asp -p 8080:8080 app
7、检查运行情况
docker ps -a
设置阿里云镜像:
配置镜像加速器:
vim /etc/docker/daemon.json
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ikpg1kma.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
登录:
docker login --username=魏振东喵先生 registry.cn-shanghai.aliyuncs.com
从Registry中拉取镜像
$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/test_wzd/test:[镜像版本号]
将镜像推送到Registry
sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/test_wzd/test:[镜像版本号]
sudo docker push registry.cn-hangzhou.aliyuncs.com/test_wzd/test:[镜像版本号]
从镜像仓库拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/test_wzd/test:v1