前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >dockerの初体验

dockerの初体验

作者头像
yumusb
发布2020-04-23 09:46:03
3710
发布2020-04-23 09:46:03
举报
文章被收录于专栏:坏男孩坏男孩

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

安装

代码语言:javascript
复制
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文件 写入配置:

代码语言:javascript
复制
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

使用

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

代码语言:javascript
复制
[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服务

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

代码语言:javascript
复制
[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的相关文件

代码语言:javascript
复制
[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服务,省下了配置的时间,然后也可以用脚本一键启动。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 使用
  • 配置LAMP服务
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档