构建镜像
在项目根目录下新建
Dockerfile
文件并编辑保存
|
|
执行命令:
|
|
指定Dockerfile:
|
|
上面代码中,
-t
参数用来指定image
文件的名字,后面还可以用冒号指定标签。如果不指定,默认的标签就是latest
。最后的那个点表示Dockerfile
文件所在的路径,上例是当前路径,所以是一个点。 执行结果如下:
出现上图的
Successfully
成功标识表示已构建成功,执行docker images
查看,列表中出现刚刚构建的go-aimaster
镜像
下载远端镜像
命令:
docker pull 仓库名称
|
|
推送本地镜像至远端仓库
- 命令:
|
|
查看镜像列表
命令:
docker image ls
|docker images
|
|
删除本地镜像
命令:docker rmi 镜像标识|镜像名称:版本号
【注意】若有容器正在依赖该镜像,则无法删除
|
|
生成容器
命令:
docker [container] run 镜像标识 /bin/bash
(简单操作)|docker [container] run -d -p 宿主机端口:容器端口 -it --name 容器名称 镜像标识 /bin/bash
(常用操作)
|
|
或者:
|
|
以上代码中
-d
代表后台运行,-p
代表宿主机端口与容器端口的映射关系,-it
代表容器的shell
映射到当前的shell
,然后再本机窗口输入命令,就会传入容器中,--name nginx
代表定义容器名称nginx
为自定义名称,。
执行结果如下:
查看容器列表
命令:
docker ps -a[q]
,-a
表示显示所有容器(包括已停止的),-q
列表值显示容器的唯一标识
|
|
|
|
进入容器
命令:
docker exec -it 容器ID|容器名称 /bin/bash
|
|
启动容器
命令:
docker start 容器ID|容器名称
|
|
重启容器
命令:
docker restart 容器ID|容器名称
|
|
停止容器
命令:
docker stop 容器ID|容器名称
|
|
停止全部容器
|
|
删除容器
命令:
docker rm 容器ID|容器名称
删除指定容器
|
|
删除全部容器
|
|
数据卷
数据卷:将宿主机的一个目录映射到容器的一个目录中,可以在宿主机中操作目录中的内容,那么容器内部映射的文件,也会跟着一起改变,创建数据卷之后,默认会存在一个目录下
/var/lib/docker/volumes/数据卷名称/_data
创建数据卷
|
|
查看数据卷
|
|
查看全部数据卷
|
|
删除数据卷:
docker volume rm 数据卷名称
|
|
管理多容器
.yml文件以key: value 方式来指定配置信息,多个配置信息以换行+锁紧的方式来区分,在docker-compose文件中,不要使用制表符
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
# yml version: ‘3.1’ service: mysql: restart: always # 代表只要docker启动,这个容器就会跟着启动 image: daoclound.io/lib/mysql:5.7.4 # 镜像路径 container_name: mysql # 指定容器名称 ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: 123456 TZ: Asia/Shanghai # 时区 volumes: # 数据卷 - /opt/docker_mysql/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
Docker-Compose 配置Dockerfile使用 使用docker-compose.yml文件以及Dockerfile文件在生成自定义镜像的同时启动当前镜像,并且由docker-compose去管理容器
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# yml version: ‘3.1’ services: mysql: restart: always build: context: ../ # 指定dockerfile文件所在路径 dockerfile: Dockerfile #指定dockerfile文件名称 container_name: mysql ports: - 3306:3306 environment: TZ: Asia/Shanghai
可以直接启动基于 docker-compose.yml以及Dockerfile文件构建的自定义镜像 docker-compose up -d 如果自定义镜像不存在,会帮助我们构建出自定义镜像,如果自定义镜像已存在,会直接运行这个自定义镜像,重新构建的话需执行 docker-compose build , 运行前重新构建 docker-compose up -d —build
Docker-compose 命令:
- 后台启动:
docker-compose up -d
- 关闭并删除容器:
docker-compose down
- 开启|关闭|重启已经存在的有docker-compose维护的容器:
docker-compose start
|stop
|restart
- 查看docker-compose管理的容器:
docker-compose ps
- 查看日志:
docker-compose logs -f