docker-compose、Dockerfile笔记
centos 下安装docker
sudo su yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce systemctl start docker systemctl enable docker
安装完毕以后, 查看Docker版本:
docker version
安装docker-compose:
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
添加可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
- 测试安装结果
docker-compose --version
Dockerfile构建容器
docker build -t imagename:v1 -f Dockerfile .
参数:
-t 指定镜像名:版本号
-f 指定Dockerfile路径
注意:
如果提示错误:“docker build” requires exactly 1 argument.
原因是因为(少了一个 ‘.’ , ‘.’ 代表当前路径);
docker-compose.yml:
version: "3.2" services: rabbitmq: build: context: ./ #dockerfile目录 dockerfile: Dockerfile #Dockerfile文件 image: rabbitmq:3-management-alpine #镜像 container_name: rabbitmq #容器名 volumes: - /alidata/rabbitmq:/var/lib/rabbitmq #挂载目录 environment: #环境变量 RABBITMQ_DEFAULT_VHOST: my_vhost RABBITMQ_DEFAULT_USER: admin RABBITMQ_DEFAULT_PASS: admin HOMEDRIVE: /var/lib/rabbitmq ports: #端口映射 - "5672:5672" - "15672:15672" # 将会映射8080到8090这个范围内的端口 - 8080-8090:8080-8090 networks: - rabbitmq privileged: true #使用root权限 #hostname: myRabbit # network_mode: "host" #与主机共享网络 #stdin_open: true #打开标准输入,可以接受外部输入,使用centos镜像时需要加入这两个参数,否则会自动退出 #tty: true #模拟一个伪终端
docker stats : 显示容器资源的使用情况,包括:CPU、内存、网络 I/O 等。
docker更新容器使其自启动
docker update --restart=always #容器id或别名