docker
更新yum: yum -y update
安装Docker: yum install docker -y
启动docker服务: systemctl start docker
停止docker服务: systemctl stop docker
重启docker服务: systemctl restart docker
查看docker状态: systemctl status docker.service
开机自启动docker服务: systemctl enable docker
镜像仓库
镜像从仓库拉取到本地: docker pull 镜像名字
本地镜像
删除镜像: docker rmi ID
列出本地所有的镜像: docker images -a
具体列解释含义:
REPOSITORY
TAG
IMAGE ID
CREATED
SIZE
运行镜像->容器: docker run -d -p 8080:8080 --name 重命名 镜像名字
-d参数是让容器后台运行
-p 是做端口映射,此时将服务器中的8080端口映射到容器中的8080(项目中端口配置的是8080)端口
--name 给容器重命名
容器
查看正在运行的容器: docker ps
查看所有容器: docker ps -a
查看某个容器日志: docker logs -f ID/容器id
进入正在运行的容器: docker exec -it ID/容器名字 /bin/bash
暂停: docker pause ID/容器名字
恢复: docker unpause ID/容器名字
停止: docker stop ID/容器名字
开始: docker start ID/容器名字
删除容器: docker rm ID/容器名字
删除所有容器: docker rm `docker ps -a -q` -f
mysql
获取mysql镜像: docker pull mysql:5.7
启动mysql: docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=密码 --name mysql mysql:5.7
redis
获取redis镜像: docker pull redis
创建挂载目录: mkdir -p /home/redis/conf /home/redis/data
/home/redis/conf 文件夹用于存放redis配置文件
/home/redis/data 文件夹用于存放redis数据
下载配置文件:
cd /home/redis/conf
wget https://raw.githubusercontent.com/antirez/redis/5.0/redis.conf -O redis.conf
配置密码: requirepass
开启保护模式: protected-mode no (默认是yes)
启动镜像run->容器:
docker run -p 6379:6379 --name redis -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
一般启动: docker run -d -p 6379:6379 redis
设置密码启动: docker run --name redis -d -p 6379:6379 redis --requirepass "password"
设置配置文件启动:
docker run --name redis -v /home/redis.conf:/usr/local/etc/redis/redis.conf -d -p 6379:6379 --privileged=true redis redis-server /usr/local/etc/redis/redis.conf
开机启动: docker run --name redis -d -p 6379:6379 --restart=always redis --requirepass "password"
说明:
-d: 后台运行,守护进程(daemon);
-p 6379:6379 端口映射(本机6379端口映射容器6379端口)
--name redis 容器别名
-v 映射文件或文件夹,volume,先本地后容器
-v /home/redis/redis.conf:/etc/redis/redis.conf 挂载本机redis配置文件目录
-v /home/redis/data:/data 挂载本机redis数据目录
--restart:重启策略,开机启动前提,docker服务首先要是开机启动的systemctl enable docker
no:任何情况下,不重启容器
on-failure:容器非0退出,重新启动容器
always:任何情况下,容器没有启动,则启动容器
redis-server --appendonly yes 在容器执行redis-server启动命令,并打开redis持久化配置
--requirepass "123456" 设置认证密码(不建议运行容器时设置,否则修改配置文件,重启容器无效)
连接测试: docker exec -it redis redis-cli
tomcat
获取tomcat镜像: docker pull tomcat
启动tomcat镜像: docker run -d --name tomcat -p 8080:8080 -v ~/home/tomcat/webapps:/usr/local/tomcat/webapps tomcat
进入tomcat: docker exec -it tomcat /bin/bash
复制tomcat默认页面: cp -r webapps.dist/* webapps
springboot
自定义目录下创建Dockerfile
FROM java:8
EXPOSE 8081
ADD springboot.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-jar","/app.jar","--spring.config.location=/data/java/config/application-dev.yml"]
生成镜像: docker build -t 镜像名字 .
运行镜像: docker run -p 8081:8081 -d --name 新名字 镜像名字
查看日志: docker logs -f --tail=1000 ID/容器名字
自定义镜像或修改镜像操作
容器打包成镜像: docker commit my/mysql5.7:now
登录docker: docker login
本地镜像提交到镜像仓库: docker push my/mysql5.7:now
私人镜像仓库拉取到本地: docker pull my/mysql5.7:now