docker小知识

1、通过 RPM 安装 docker 17.03.0 版本并且配置 docker 阿里加速

#在centos7上安装
[root@centos7 ~]#wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm
[root@centos7 ~]#wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm
[root@centos7 ~]#yum -y install docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm
#配置镜像加速
[root@centos7 ~]#mkdir -p /etc/docker
[root@centos7 ~]#tee /etc/docker/daemon.json <<EOF
> {
> "registry-mirrors": ["https://si7y70hh.mirror.aliyuncs.com"]
> }
> EOF
{
"registry-mirrors": ["https://si7y70hh.mirror.aliyuncs.com"]
}
#启动服务
[root@centos7 ~]#systemctl daemon-reload
[root@centos7 ~]#systemctl enable --now docker

2、通过 docker 安装一个 LAMP 架构

(1)搜索star数超过100的lamp镜像,从中选择

[root@ubuntu18 ~]#docker search -s 100 lamp
Flag --stars has been deprecated, use --filter=stars=3 instead
NAME                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mattrayner/lamp     A simple LAMP docker image running the prere…   240                                     [OK]
linode/lamp         LAMP on Ubuntu 14.04.1 LTS Container            178                                     
tutum/lamp          Out-of-the-box LAMP image (PHP+MySQL)           141                                     
greyltc/lamp        a super secure, up-to-date and lightweight L…   101                                     [OK]                         

(2)选择一个镜像拉取,此处选择第一个

[root@ubuntu18 ~]#docker pull mattrayner/lamp

(3)创建容器

#查看刚才拉取到的镜像
[root@ubuntu18 ~]#docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mattrayner/lamp     latest              05750cfa54d5        3 months ago        915
#运行容器
[root@ubuntu18 ~]#docker run -d --name=lamp -p 8080:80 -p 3306:3306 mattrayner/lamp 
41cb606758aae902574fb80776d19ab7d59c72bfc99d4af528a6ca5193aeb5a8
[root@ubuntu18 ~]#docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                          NAMES
41cb606758aa        mattrayner/lamp     "/run.sh"           49 seconds ago      Up 48 seconds       0.0.0.0:3306->3306/tcp, 0.0.0.0:8080->80/tcp   lamp
#进入容器
[root@ubuntu18 ~]#docker exec -it lamp /bin/bash
root@41cb606758aa:/# ll
total 120
drwxr-xr-x   1 root     root  4096 Nov 15 08:23 ./
drwxr-xr-x   1 root     root  4096 Nov 15 08:23 ../
drwxr-xr-x   2 www-data staff 4096 Nov 15 08:22 app/
drwxr-xr-x   1 root     root  4096 Aug 16  2018 bd_build/
drwxr-xr-x   1 root     root  4096 Jul 21 07:53 bin/
drwxr-xr-x   2 root     root  4096 Apr 24  2018 boot/
-rwxrwxr-x   1 root     root  2049 Jul 21 07:48 create_mysql_users.sh*
drwxr-xr-x   5 root     root   340 Nov 15 08:22 dev/
-rwxr-xr-x   1 root     root     0 Nov 15 08:22 .dockerenv*
drwxr-xr-x   1 root     root  4096 Nov 15 08:22 etc/
drwxr-xr-x   2 root     root  4096 Apr 24  2018 home/
drwxr-xr-x   1 root     root  4096 Jul 24  2018 lib/
drwxr-xr-x   1 root     root  4096 Jul 21 07:52 lib64/
drwxr-xr-x   2 root     root  4096 Jul 24  2018 media/
drwxr-xr-x   2 root     root  4096 Jul 24  2018 mnt/
drwxr-xr-x   2 root     root  4096 Jul 24  2018 opt/
dr-xr-xr-x 189 root     root     0 Nov 15 08:22 proc/
drwx------   1 root     root  4096 Jul 21 07:54 root/
drwxr-xr-x   1 root     root  4096 Nov 15 08:23 run/
-rwxr-xr-x   1 root     root  3696 Jul 21 07:48 run.sh*
drwxr-xr-x   1 root     root  4096 Jul 21 07:52 sbin/
drwxr-xr-x   2 root     root  4096 Jul 24  2018 srv/
-rwxr-xr-x   1 root     root    67 Jul 21 07:48 start-apache2.sh*
-rwxr-xr-x   1 root     root    89 Jul 21 07:48 start-mysqld.sh*
drwxr-xr-x   7      501 staff 4096 Jul 21 07:54 supervisor-4.2.0/
-rw-r--r--   1 root     root  1060 Nov 15 08:23 supervisord.log
-rw-r--r--   1 root     root     2 Nov 15 08:23 supervisord.pid
dr-xr-xr-x  13 root     root     0 Nov 15 08:22 sys/
drwxrwxrwt   1 root     root  4096 Nov 15 08:23 tmp/
drwxr-xr-x   1 root     root  4096 Jul 24  2018 usr/
drwxr-xr-x   1 root     root  4096 Jul 21 07:53 var/

(4)测试:在浏览器访问宿主机的ip的8080端口

image-20201115163115470

3、写出 docker run 命令的延申指令,如怎么在停止一个 docker 容器的时候自动删除该容器

docker run --rm CONTAINER
#如下
#一次性执行完,并删除容器
[root@ubuntu1804 ~]#docker run --rm alpine cat /etc/issue
Welcome to Alpine Linux 3.11
Kernel \r on an \m (\l)
#范例: 指定容器名称,不能同名
[root@ubuntu1804 ~]#docker run --name a1 alpine
#范例: 设置容器内的主机名
[root@ubuntu1804 ~]#docker run -it --name a1 -h www.alpine.org alpine

4、写出 docker run 命令在自动启动 docker 服务时通过什么参数能够启动 docker 中的容器,从而实现容器随着 docker 服务的启动而自动启动

通过--restart选项的always策略可以实现容器随着docker服务的启动而启动,如下

[root@ubuntu1804 ~]#docker run -d --name nginx --restart=always -p 80:80 nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值