1. 验证准备
标准安装Docker的话需要Linux内核大于3.10版本的64位操作系统. 因为之前的Linux内核版本对于执行Docker的一些功能还不够完善.
$ uname -r
3.19.0-49-generic
对于Ubuntu 15.10 & 14.04的系统上来安装Docker的话推荐使用linux-image-extra 来安装Linux内核.
$ sudo apt-get install linux-image-extra-$(uname -r)
2. 添加Docker Apt Repo 源
首先导入docker的GPG key来验证签名,使用apt-get即可.
$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
创建一个新的apt 配置文件到 /etc/apt/sources.list.d/docker.list
对于Ubuntu Wily 15.10
deb https://apt.dockerproject.org/repo ubuntu-wily main
对于Ubuntu Trusty 14.04 (LTS)
deb https://apt.dockerproject.org/repo ubuntu-trusty main
3. 安装Docker
确保系统中的repositories是最新的,安装之前把之前的Docker清掉.
$ sudo apt-get purge lxc-docker
再使用下面的命令来升级apt安装Docker到系统.
$ sudo apt-get update
$ sudo apt-get install docker-engine
$ sudo curl -sSL https://get.docker.com/ | sh
成功完成安装Docker引擎之后,我们开启Docker服务.
$ sudo service docker start
4. 管理Docker容器
搜索Docker镜像
首先我们doDocker hub搜索下Docker容器镜像,下面的命令可以列出Ubuntu所有的镜像
docker search ubuntu
下载Docker镜像
下载就在github上下载Docker容器.
$ docker pull ubuntu
latest: Pulling from library/ubuntu
fa5be2806d4c: Pull complete
b4af4261cb15: Downloading [==> ] 3.779 MB/70.55 MB
5d358abc5d9c: Download complete
2933d50b9f77: Download complete
确保系统成功下载了上步的镜像. 【 列出存在的镜像 】
docker images
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu latest 36248ae4a9ac 7 days ago 188 MB
A. 使用镜像发布新的容器(基本方法)
最后使用上面下载下来的镜像发布一个新的Docker容器.下面的命令会发布一个新的容器并且可以使用/bin/bash进入查看.
$ docker run -i -t ubuntu /bin/bash
B. 使用镜像发布新的容器(端口指定)pull:从一个Docker的仓库服务器下拉一个镜像或仓库;
push:将一个镜像或者仓库推送到一个 Docker 的注册服务器;
【-d 进程守护,后台运行】【 -p 端口映射 -P 随机端口】【-v 映射本地目录到docker nginx 目录 】【--name 自建容器名称】【 /bin/bash shell交互】
#docker run -d -p 8080:80 -p 3306:3306 -v /var/www/:/usr/share/nginx/html/ --name my-lnmp bin/bash
验证完所有的Docker容器之后,使用下面的命令列举主机上正在运行的容器.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2582758af13 ubuntu "/bin/bash" 2 hours ago Up 2 hours first_ubuntu
默认情况下上面的命令只会列出当前所有正在运行的containers. 如果要列出全部的容器(包含停止了的)那就使用这个命令.
$ docker ps -a
启动/停止/进入Container
使用下面的命令你可以启动停止和进入到任何的容器去
启动
$ docker start <CONTAINER ID>|<NAMES>
停止
$ docker stop <CONTAINER ID>|<NAMES>
重命名一个容器;
$ docker rename <CONTAINER ID>|<NAMES>
重启一个运行中的容器;
$ docker restart <CONTAINER ID>|<NAMES>
将容器打包成镜像
docker commit <CONTAINER ID> mynewimage
依附到一个正在运行的容器中
$ docker attach <CONTAINER ID>|<NAMES>
其他命令
logs:获取容器的 log 信息;
network:管理 Docker 的网络,包括查看、创建、删除、挂载、卸载等;
node:管理 swarm 集群中的节点,包括查看、更新、删除、提升/取消管理节点等;
创建容器 laravel
docker run -dit -p 80:80 -p 3306:3306 -v /mydata/apps/:/apps/ --name testDocker registry.cn-hangzhou.aliyuncs.com/kfk/nginx-mysql-php7-composer:laravel /bin/bash
进入容器
docker exec -it testDocker /bin/bash
mysql 授权外网访问
mysql -u root -p
#输入密码
#切换数据库
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'oMLQ813d7SuzoXUQ' WITH GRANT OPTION;
FLUSH PRIVILEGES;
service mysql stop
service mysql start
网友评论