专栏首页坏男孩dockerの初体验

dockerの初体验

昨天莫名其妙把deeping整崩了,花了一下午去抢救,但是最后还是重装了。。然后从昨天晚上开始配环境,结果php依赖出了问题,一些插件就装不上。看deepin论坛很多人都回复用docker吧,加上学长也是说docker很好用,然后今天就开始了dockerの初体验

安装

wget -qO- https://get.docker.com/ | sh   
#首先安装docker  
[email protected]:~/Desktop$ cd /run/
[email protected]:/run$ ls -al docker.sock 
srw-rw---- 1 root docker 0 3月  14 16:15 docker.sock
#可以看到docker组的用户是拥有w权限的,而其他用户没有任何权限,所以我们运行docker的时候就会需要sudo
sudo usermod -aG docker $USER 
#我们可以直接把当前用户加入docker用户组,这样就会省了很多事。
newgrp - docker
#如果添加群组后没有重启,就会需要手动切换用户组

这里也可以切换为国内的镜像源 编辑/etc/docker/daemon.json文件 写入配置:

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

使用

做完以上的事情就相当于安装好了docker,可以看下效果了

[email protected]:~/Desktop$ sudo service docker start
#启动docker服务
[email protected]:~/Desktop$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

hello-world是我们从镜像源拉取的第一个docker,毫无疑问当我们需要运行docker的时候,就用 docker run “xxx” ,这个XX是我们需要用到的docker名字,如果本地没有,就会从镜像源拉取

配置LAMP服务

当然,这才是我的最终目的。

[email protected]:~/Desktop$ docker search lamp
NAME                                   DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
linode/lamp                            LAMP on Ubuntu 14.04.1 LTS Container            167                                     
tutum/lamp                             Out-of-the-box LAMP image (PHP+MySQL)           114                              
#首先搜索lamp,下面选一个最高stars的用吧
[email protected]:~/Desktop$ docker pull linode/lamp

接下来我们需要配置好lamp的相关文件

[email protected]:/var/www/docker/lamp$ ls -al
总用量 20
drwxr-xr-x 5 yumu yumu 4096 3月  14 15:41 .
drwxr-xr-x 3 yumu yumu 4096 3月  14 16:18 ..
drwxr-xr-x 8 yumu yumu 4096 3月  14 15:40 apache2
drwxr-xr-x 4 yumu yumu 4096 3月  14 15:40 mysql
drwxr-xr-x 3 yumu yumu 4096 3月  14 15:41 www
#这里我直接复制的/etc/apache2、/etc/mysql、www目录下是example.com

docker run -p 81:80 -p 3307:3306 -v ${PWD}/lamp/apache2/apache2.conf:/etc/apache2.conf 
-v ${PWD}/lamp/mysql:/etc/mysql -v ${PWD}/lamp/www/:/var/www --name lamptest -i -t linode/lamp
#-p 为映射端口、-v 为映射目录、--name 应该算是一个备注吧、-i -t 为打开shell,

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                        NAMES
1ad009c31dc0        linode/lamp     "/bin/bash"         30 seconds ago      Up 28 seconds       0.0.0.0:81->80/tcp, 0.0.0.0:3307->3306/tcp   lamptest
#在别的shell窗口查看这个docker的信息

docker comment 1ad009c31dc0(上面的ID) yumu/dockerlamp
#等自己做一些必要的改动以后(比如添加php模块,修改mysql密码 等等。。),就可以定制自己的专属镜像了
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
yumu/dockerlamp     latest              5ad4d2deea0c        15 seconds ago      482MB
#这里就可以查看到自己的镜像了,下次就可以用这个快速启动lamp服务,省下了配置的时间,然后也可以用脚本一键启动。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在php中使用PDO预防sql注入

    在建站中,注入(Injection)一直都是一个值得考虑的安全问题,在OWASP(Open Web Application Security Project) ...

    yumusb
  • deepin中dde桌面环境的恢复

    今天又把deepin玩坏了,原因是在安装python3-opencv时候,依赖问题直接把我的dde干掉了..(日志文件存放在/var/log/apt/histo...

    yumusb
  • 手动导出ZUK手机中的便签

    说是ZUK 其实就是ZUI自带的便签,现在联想手机出厂大都自带的是ZUI。也不是说ZUI难用之类的,主要是想多尝试一些别的第三方系统,但是ZUI里面的便签极大的...

    yumusb
  • 性能环境之docker操作指南1(全网最全)

    4.添加官方密钥 执行该命令时,如遇到长时间没有响应说明网络连接不到docker网站,需要使用代-理进行。

    高楼Zee
  • docker学习(1) 安装

    docker是啥就不多讲了,简言之就是更轻量、更牛叉的新一代虚拟机技术。下面是安装步骤: 一、mac/windows平台的安装 docker是在linux内核基...

    菩提树下的杨过
  • Docker-如何清理磁盘占用

    最近开始打包我们的一些应用,不得不说,我已经爱上了Docker这个工具。在AWS EC2上,它的存在使我们的工作方便了许多。然而,我们遇到的唯一问题是Docke...

    Shedray大数据专栏
  • Docker1.12尝试

    前言:在docker1.12中默认增加了swarm mode 编排功能,并且官方支持更多的插件来进行docker的网路和外接存储插件,不过目前测试swarm m...

    BGBiao
  • Java开源博客My-Blog之docker容器组件化修改

    前言 5月13号上线了自己的个人博客,《Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦》,紧接着也在github...

    我是十三
  • K8S问题记录

    在使用habor作为镜像仓库时,默认拉取镜像是走的https,如果在安装harbor时没有设置证书,则会报错,timeout,deny之类的错误,如果没有证书的...

    dogfei
  • Windows系统下载安装docker

    Windows下载安装docker 新一极渗透测试教育培训第一课: 为什么要把docker放在第一课?      工欲善其事,必先利其器。 ...

    奶糖味的代言

扫码关注云+社区

领取腾讯云代金券