Docker入门
docker百科:
一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口;使用go语言编写,在LCX(linux容器)基础上进行的封装
docker优点:
开箱即用,快速部署,可移植性强,环境隔离
docker基本概念:
镜像:容器运行时的只读模板,操作系统+软件运行环境+用户程序
容器:容器包含了某个应用运行所需要的全部环境
仓库:用来保存镜像,有公有和私有仓库,好比Maven的中央仓库和本地私服
docker常用命令:
搜索镜像:docker search xxx
拉取镜像:docker pull xxxId (xxxId:镜像Id)
(xxx格式>>>repository:tag repository表示镜像的仓库源,tag表示镜像标签)
本地镜像列表: docker images
删除镜像: docker rmi xxx (强制移除增加参数 -f)
运行容器:docker run -d --name '容器名称' -p 外部端口:内部端口 镜像名称
-d 后台运行
-p 端口映射
--name 容器自定义名称
镜像名称:repository:tag repository表示镜像的仓库源,tag表示镜像标签
运行容器列表:docker ps
停止容器:docker stop 容器名称
运行容器:docker start 容器名称
进入容器:docker exec -it 容器名称 bash
示例docker安装mysql:
docker pull mysql:5.7
docker run -d --name mysql-zw -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mysql:5.7(此处-e指定密码)
docker start mysql-zw
docker exec -it mysql-zw bash
示例docker安装nginx
docker pull nginx
docker run -d --name nginx-8081 -p 8081:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/html/index.html:/usr/share/nginx/html/index.html nginx(此处-e挂载文件)
示例docker安装Jenkins
docker pull jenkins
sudo chown -R 1000:1000 /home/jenkins (给文件夹授权)
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v /home/jenkins:/var/jenkins_home jenkins
安装文件的配置路径
/容器Id/etc/安装文件名 (如:mysql、nginx)