Docker改变了我们对于软件的部署和运维模式:

认识Docker

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个容器中,然后发布到任何支持Docker的操作系统中;例如:你可以在Windows主机上创建一个基于Cent OS某个版本的容器,容器里面安装好了你的应用程序所需求的服务(如:Nginx、Python)及你的应用,容器内部可以看作一个独立的操作系统。

Docker可以运行在物理主机或者虚拟机中,每个容器带来的额外消耗很小,可以在一台机器上同时运行很多Docker容器。

使用Docker

安装完成后就可以运行一个docker容器了,网上有大量定制好的docker image可供使用,下面命令从docker仓库中下载官方建立好的mysql image,并为此image建立容器并运行

# docker run -it --restart=always -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 mysql /bin/bash

要正式使用MySQL还需要多做一些配置,请参考:Docker中使用MySQL

构建Docker应用

除了网上已经打包好的Image可使用外,大部分时间我们要为自己的应用构建Image并运行。

这些都从『编写Dockerfile』开始

操作管理容器

Docker应用模式

常用Docker镜像配置

使用dnsmasq和docker快速搭建简易dns服务

Jenkins

create : 建立jenkins容器,将数据挂载在外部目录,并设置正确的时区。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/bash

basepath=$(cd `dirname $0`; pwd)

mkdir -p data
chown -R 1000.1000 data
chmod  755 data
docker run \
  --name jenkins \
  --restart=always \
  -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai \
  -d -v $basepath/data:/var/jenkins_home jenkins

update:更新容器

1
2
3
4
5
#!/bin/bash

basepath=$(cd `dirname $0`; pwd)

docker stop jenkins && docker rm jenkins && $basepath/create

MySQL

如果你是在Mac中使用MySQL,请升级docker到最新版本,否则会出现挂载外部数据时的权限问题,Version 17.09.0-ce-mac32 (19506)已经没有问题。

[ 编辑 | 历史 ]
最近由“jilili”在“2019-01-16 04:25:25”修改