目录

docker是什么?

docker基本概念

* 容器

* 镜像

* 容器链接

* 仓库

* Docker compose

docker-compose.yml配置

docker是什么?

docker是一个开源的性能开销极低的容器引擎,容器完全使用沙箱机制,相互之间不会有任何接口(类似iphone的app)。

docker基本概念

容器

容器是镜像的实例,镜像是容器的类,通过运行镜像可以创建容器。

常用命令

//获取镜像

docker pull ubuntu

//运行镜像

docker run -it ubuntu /bin/bash

//退出终端

exit

//查看所有容器

docker ps -a

//启动容器

docker start

//后台运行,加入-d参数默认不会进入容器

docker run -itd --name ubuntu-test ubuntu /bin/bash

//停止一个容器

docker stop

//重启容器

docker restart

//进入后台启动的容器

docker attach ,从容器退出会导致容器停止

docker exec -it /bin/bash 从容器退出,不会导致容器停止(推荐)

//删除容器

docker rm -f

参数说明:

-i 交互式操作

-t 终端

-d 后台运行

ubuntu 镜像

/bin/bash 放在镜像后的是命令,我们希望有个交互式shell,因此使用/bin/bash

镜像

常用命令

//查看镜像

docker images

//获取镜像

docker pull ubuntu

//查找镜像

docker search httpd

//删除镜像

docker rmi hello-world

创建镜像

在已有镜像上修改

使用Dockerfile文件构建

在已有镜像上修改

更新镜像:

在更新镜像前我们需要先运行镜像启动容器

docker run -t -i ubuntu:15.10 /bin/bash

完成修改操作后,exit退出容器

使用docker commit提交修改

docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2

参数说明:

-m 提交的描述信息

-a 作者

runoob/ubuntu:v2 指定要构建的镜像名

构建镜像:

docker build -t runoob/centos:6.7 .

参数说明:

-t 要构建的镜像名

. Dockerfile文件所在路径,可以指定Dockerfile所在绝对路径

容器链接

端口映射

容器互联

仓库

我们可以将构建好的镜像上传到docker仓库中,这里不过多描述。

Docker compose

docker compose是定义和运行多容器应用的工具。我们搭建开发环境和生产环境需要用到多个容器,所以要配置docker-compose.yml文件。

docker-compose.yml配置

version: "3"

services:

web:

image: node:12.16.1

working_dir: /code

volumes:

- .:/code

ports:

- "8360:8360"

command: npm start

mysql:

image: mysql:5.7

command: --default-authentication-plugin=mysql_native_password

volumes:

- ./data:/var/lib/mysql

restart: always

environment:

- MYSQL_USER=chunshan

- MYSQL_PASSWORD=123456

- MYSQL_ROOT_PASSWORD=123456

- MYSQL_DATABASE=think-one

mongo:

image: mongo

volumes:

- ./data:/data/db

ports:

- "27017:27017"

command: --storageEngine wiredTiger --auth

ports:

- "3306:3306"

注意:

docker 容器一但删除所有相关的数据都会消失,所以要使用volumes将数据挂载到项目文件加下,防止数据丢失造成损失。

参考资源:

Logo

一站式 AI 云服务平台

更多推荐