Docker
Docker安装
1、卸载
script1 2 3 4 5 6 7 8 9 10 11
| 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工具
1 2 3
| yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 --skip-broken
|
然后更新本地镜像源:
1 2 3 4 5 6 7 8
| # 设置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
|
然后输入命令:
1
| yum install -y docker-ce
|
启动docker
1、关闭防火墙(生产环境不允许)
script1 2 3 4
| # 关闭 systemctl stop firewalld # 禁止开机启动防火墙 systemctl disable firewalld
|
2、通过命令启动docker:
1 2 3 4 5
| systemctl start docker
systemctl stop docker
systemctl restart docker
|
3、 阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
命令
命令:
1、下载
2、加载本地tar
script1
| docker load -i redis.tar
|
3、保存一个或多个镜像
script1
| docker save -o name.tar redis:latest
|
4、启动停止镜像
script1 2 3 4 5 6
| docker images//查看镜像 docker rmi redis:latest//删除指定镜像 docker ps //查看运行的容器状态 -a可查看所有 dokcer logs -f <redis> //查看运行的容器输出的日志 docker exec -it <redis> bash //进入容器执行命令
|
5、单独运行一个镜像
script1 2 3 4 5 6
| docker run --name nginx -p 80:80 -d nginx //... 之后配置<nginx>的配置参数 docker start <redis> //run过的镜像 docker restart <redis> docker stop <redis> docker rm -f <nginx> //删掉一个运行的镜像 docker rmi -f $(docker images -qa) //删掉所有没有运行的镜像
|
- –name:容器起一个名字
- -p:容器与宿主机端口映射
- -d:吼他运行
- nginx:镜像的名字
6、操作数据卷,将容器与数据分离,方便操作容器内数据
script1 2 3 4 5
| docker volume create <html> //创建数据卷 docker volume ls//查看数据卷 docker volume rm <html>//删除数据卷 docker volume inspect <es-data>//查询数据卷的位置 docker volume prune//删除没有使用的数据卷
|
7、挂载数据卷,容器的数据映射到docker的数据卷,不读取容器的目录数据了
script1
| docker run --name <mn> -p 80:80 -v html:/usr/share/nginx/html -d nginx //可以直接创建数据卷html,不需要docker volume create <name>
|
8、挂载文件 mysql
script1 2 3 4 5 6
| mkdir -p mysql/data //创建多级目录 mkdir -p mysql/conf //配置文件scp到该目录 docker run --name mysql -e MYSQL_ROOT_PASSWORD=root1234 -p 3306:3306 \ -v /usr/tmp/mysql/data:/var/lib/mysql \ -v /usr/tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \ -d mysql:5.7.25
|
9、根据Dockerfile创建一个镜像
script1 2
| docker build -t <javaweb:1.0> . //创建 docker run --name <javaweb> -p 8090:8090 -d javaweb:1.0 //
|
10、抽取分层容器
1 2 3 4 5 6 7 8
| # 指定基础镜像 FROM java:8-alpine
COPY ./docker-demo.jar /tmp/app.jar # 暴露端口 EXPOSE 8090 # 入口,java项目的启动命令 ENTRYPOINT java -jar /tmp/app.jar
|
DockerCompose微服务部署
script1 2 3 4
| docker-compose down//删除刚才运行的项目
docker-compose up -d --force-recreate --build//重新构建
|
创建network
1
| docker network create 'name'
|