docker简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
安装docker
-
ubuntu
Docker 要求 CentOS 系统的内核版本高于 3.10 , 通过 uname -r 命令查看你当前的内核版本
wget -qO- https://get.docker.com/ | sh
-
Centos
Docker 要求 CentOS 系统的内核版本高于 3.10 , 通过 uname -r 命令查看你当前的内核版本
yum install docker
-
MacOs
使用
Homebrew
安装brew cask install docker
-
关于镜像加速的配置
网易的镜像地址:hub-mirror.c.163.com
在
/etc/docker/daemon.json
下配置文件如下:"registry-mirrors": ["http://hub-mirror.c.163.com"]
Docker常见命令
docker常见命令
-
本地启动docker服务(以ubuntu为例)
service docker start/stop/restart
-
开机自启动docker
service docker enable
-
搜索远程仓库中的docker镜像
docker search 镜像名称(mysql)
-
查看本地docker镜像
docker images
-
拉取远程docker镜像名称
docker pull 镜像名称(mysql):镜像版本(latest) // 默认为最近的版本latest
-
删除某个镜像
Docker rmi image-name/image-id
-
启动docker镜像
-
普通启动
docker run --name my-docker-name -d tomcat:tag
--name: 运行的容器名称(my-docker-name)-自定义
-d: 服务在后台运行
tomcat: 运行的镜像名称 :tag => 运行本地某个版本的镜像
-
端口映射的启动
docker run --name my-docker-name -d -p 8888:8080 tomcat
-p: 表示将docker主机(本地)的某个端口映射到容器内的某个端口,即在此处表示:访问本地主机的8888端口即表示访问docker容器内的8080端口
-
mysql类似的带参启动
docker run --name my-docker-name -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456
-e 运行容器的时候同时执行这个命令
-
mysql的指定配置文件启动
docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
-v 将本地主机/my/custom路径下的mysql配置文件挂载到容器内/etc/mysql/conf.d的配置文件
-
-
查看本地docker运行中的容器
docker ps
-
查看本地运行的所有容器(包括运行的、停止的以及意外退出的)
docker ps -a
-
重新运行/停止某个docker容器
docker start/stop/restart containerID/container-name
-
查看某个容器的日志
docker logs containerID/container-name
具体的各镜像的配置文档见docker hub 文档