docker的安装
docker的中央仓库
- dockerd的官方仓库
docker官方仓库 - 网易蜂巢
网易仓库 - daoCloud(推荐使用)
daoCloud仓库 - 公司私服
在下面配置文件中添加配置1
/etc/docker/deamon.json
docker的安装
- 安装之前的依赖
yum -y install yun-utils device-mapper-persistent-data lvm2
- 配置阿里云镜像
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新并安装Docker-CE
1
2yum makecache fast
yum -y install docker-ce - 开启Docker服务
1
2
3service docker start
或者
systemctl start docker - 设置开机自启
1
systemctl enable docker
- 测试docker是否安装成功
1
docker run hello-world
docker的基本操作
docker镜像的基本操作
- 简单操作
1
docker run 镜像的id标识/镜像名称:[tag]
- 常用参数-d : 后台运行
1
docker run -d -p 宿主机端口:docker端口 -–name 容器名称 镜像的标识|镜像名称:[tag]
-p : 宿主机端口:docker端口
–name 容器名称 : 指定容器的名称查看正在运行的容器
- 命令
1
2
3docker ps [-q]
docker ps
docker ps -a - 参数设置
-q 只查看容器的标识
docker ps 查看正在运行的容器查看容器的日志
- 命令
- 命令
1
docker logs -f 容器id
- 参数
-f 可以滚动查看日志的最后几行进入容器内部
1
docker logs -f 容器id
删除容器
- 删除指定的容器
1
docker rm 容器id
- 删除全部容器
1
docker rm $(docker ps -qa)
- 停止指定的容器
1
docker stop 容器id
- 停止全部的容器
1
docker stop $(docker ps -qa)
- 删除容器之前必须先停止容器
启动容器
1
docker start 容器id
容器内部操作
复制
1
Docker cp 文件名称 容器id:容器内部的路径
查看容器的IP
1
docker inspect 容器Id
docker应用
docker安装容器
- 从daocloud拉取镜像
1
daocloud.io/library/mysql:5.7
- 运行容器
1
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=110119 --name mysql daocloud.io/library/mysql:5.7
-p 端口映射
-e 设置MySQL密码
–name 设置容器名称docker自定义镜像
- 创建一个Dockerfile自定义镜像文件,并且指定自定义镜像信息
- 命令
1
2from daocloud.io/library/tomcat:8.5.15-jre8
copy 项目路径/项目名称 容器路径 - 文件内容
from:指定当前自定义镜像依赖环境
copy:将相对路径下的内容复制到自定义镜像的对应目录
workdir:指定自定义镜像工作目录
cmd:需要执行的命令 (在workdir中执行的命令,cmd可以写多个,只以最后一行命令为准)
- 将准备好的文件以及相应的文件复制到linux系统中,制作自定义镜像
1
docker build -t 镜像名称[:tag] .
docker数据卷
简介
将宿主机的一个目录映射到容器的一个目录
在宿主机的目录下操作,映射的容器目录中的内容也会跟着变化应用
数据卷基本操作
- 创建数据卷
1
docker volume create 数据卷名称
- 数据卷默认存放的目录
1
/var/lib/docker/volume/数据卷名称/_data
- 查看数据卷的详细信息
1
docker volume inspect 数据卷名称
- 查看全部的数据卷
1
docker volume ls
- 删除数据卷
1
docker volume rm 数据卷名称
数据卷的应用
- 映射数据卷的时候,docker会自动创建数据卷
1
docker run -v 数据卷名称:容器内路径 镜像ID
- 指定路径作为数据卷的存放目录
1
docker run -v 宿主机路径:容器内路径 镜像ID
docker-compose
简介
- 通过docker-compose编写docker运行时参数
- 可以批量管理容器
- 使用docker-compose.yml文件进行配置
命令
- 启动管理的容器
1
docker-compose up -d
- 关闭并删除容器
1
docker-compose dowm
- 开启|重启|关闭容器
1
docker-compse start|restart|stop
- 查看docker-compose管理的容器
1
docker-compose ps
- 查看docker-compose日志
1
docker-compose logs -f
下载以及配置
- 下载docker-compose 去GitHub中搜索docker-compose
[docker-compose](https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64) - 将下载好的docker-compose拖拽到linux系统中
使用ssh远程工具实现 - 修改docker-compose文件名称
1
mv docker-compose-Linux-x86_64 docker/usr/local/docker-compose
- 将文件修改成可执行文件
1
chmod 777 docker-compose
- 配置环境变量
- 删除指定的容器
- 将docker-compose移动到bin目录下
1
mv docker-compose bin
- 编辑环境变量的配置文件
1
2vim /etc/profile
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/usr/local/bin - 重新加载配置文件
1
source /etc/profile
- 测试docker-compose是否生效
1
在任意的路径下输入 docker-compose
编写docker-compose.yml文件
- 格式
k-v结构、多个配置信息用换行+缩进的方式实现 - 示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24version: '3.1'
services:
mysql: #服务的名称
restart: always #代表只要是docker启动,容器就启动
image: daocloud.io/library/mysql:5.7.4 #指定镜像的路径
container_name: mysql #指定容器名称
ports:
- 3306:3306 #指定端口号的映射
environment:
MYSQL_ROOT_PASSWORD: 110119 #指定mysql root用户的密码
TZ: Asia/shanghai #指定时区
volumes:
- /opt/docker_mysql_tomcat/data:/var/lib/mysql #映射数据卷
tomcat:
restart: always
image: daocloud.io/library/tomcat:8.5.15-jre8
container_name: tomcat
ports:
- 8080:8080
environment:
TZ: Asia/shanghai
volumes:
- /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps
- /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs与Dockerfile管理自定义镜像
- 创建docker-compse.yml文件
- 创建Dockerfile文件
1
2from daocloud.io/library/tomcat:8.5.15-jre8
copy jtsys.war /usr/local/tomcat/webapps - 启动容器如果自定义镜像存在,则直接运行
1
docker-compse up -d
如果自定义镜像不存在,则docker会自动创建自定义镜像 - 重构容器
1
2
3docker-compose build
或者
docker-compose up -d --bulid
- 测试docker-compose是否生效