服务器环境:CentOS 7
Docker安装
-
安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
-
添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
更新 yum 缓存:
sudo yum makecache fast
-
安装 Docker-ce:
sudo yum -y install docker-ce
-
启动 Docker 后台服务
sudo systemctl start docker
-
执行命令
docker
,验证是否安装成功
Docker Compose安装
-
安装pip:
yum -y install epel-release yum -y install python-pip
-
更新pip:
pip install --upgrade pip
-
安装docker-compose:
pip install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple
-
执行命令,验证是否安装成功
docker-compose version
Dockerfile简介:
设置创建镜像的操作
FROM :基础镜像
MAINTAINER:维护者信息
RUN:在基础镜像上执行指定命令
ADD和COPY:都可以添加拷贝文件,只是ADD可以添加远程文件
CMD:启动容器时指定默认命令执行选项
EXPOSE:容器暴露的端口号
ENV:设定环境变量
ENTRYPOINT:指定配置容器启动后执行的命令
USER:指定user来RUN,CMD和ENTRYPOINT
docker-compose.yml 部分属性详解:
记录一个项目 的构建过程。
version: "2" # 指定 compose 文件的版本
services: #控制镜像的运行方式
mysql: # 编排文件中容器的别名
build: ./mysql # 从当前文件目录下的mysql文件夹下寻找Dockerfile文件开始构建mysql镜像
image: mysql-ssm:mysql # 构建之后镜像的名字
container_name: mysql-ssm # 启动之后容器的名字
restart: always # 容器重启之后总是会重新构建本镜像
ports:
- "3301:3306" # 映射容器内的3306端口到宿主机的3301端口
volumes: # 将宿主机上的/temp/test/docker-ssm/logs 挂载到本容器上的/logs上
- "/temp/test/docker-ssm/logs:/logs"
Docker常用命令介绍(共16个)
ID | 命令 | 解释 |
---|---|---|
1 | systemctl start docker | 启动docker |
2 | systemctl stop docker | 关闭docker |
3 | docker search [镜像名] | 搜索镜像 |
4 | docker pull [镜像名:版本号] | 拉取指定版本的镜像 |
5 | docker build -t [镜像名:版本号] . | 通过Dockerfile创建镜像 -t:设置镜像名 |
6 | docker image ls | 查看已安装的镜像文件 |
7 | docker run --name[容器名] -d -p[宿主机端口号:镜像内端口号] -v [地址:容器内地址] [镜像名] | 指定参数启动容器 --name:配置镜像名-d:后台进行-p:配置端口映射 -v:配置文件挂载 |
8 | docker-compose up -d | 通过docker-compose文件启动 |
9 | docker container ps | 查看所有已启动的容器 |
10 | docker stop [容器ID|容器名] | 通过容器ID或容器名关闭指定容器 |
11 | docker rm [容器ID|容器名] | 通过容器ID或容器名删除指定容器 |
12 | docker rmi [镜像ID|镜像名] | 通过镜像ID或镜像名删除指定镜像 |
13 | docker cp 新文件名 [容器Id]:旧文件名 | 更新容器内文件 |
14 | docker exec -ti [容器Id] /bin/bash | 进入容器 |
15 | exit | 退出容器 |
16 | docker logs [容器ID|容器名] | 查看容器里的日志 |