Docker安装与部署

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker是什么?

  • docker是一个开源的软件部署解决方案;
  • docker也是轻量级的应用容器框架;
  • docker可以打包、发布、运行任何的应用。

一个完整的Docker有以下几个部分组成:

  1. dockerClient客户端

  2. Docker Daemon守护进程

  3. Docker Image镜像

  4. DockerContainer容器

docker软件包的下载地址:

https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/

环境部署:

物理机Redhat7.3

<1>安装docker

[root@foundation81 docker]# ls
container-selinux-2.21-1.el7.noarch.rpm
docker-ce-18.06.1.ce-3.el7.x86_64.rpm
libsemanage-2.5-8.el7.x86_64.rpm
libsemanage-python-2.5-8.el7.x86_64.rpm
pigz-2.3.4-1.el7.x86_64.rpm
policycoreutils-2.5-17.1.el7.x86_64.rpm
policycoreutils-python-2.5-17.1.el7.x86_64.rpm
[root@foundation81 docker]# yum install -y *

查找已安装的docker软件:

开启服务:

[root@foundation81 docker]# systemctl start docker.service

ip addr查看docker

<2>加载镜像

[root@foundation81 images]# docker load -i game2048.tar

 

<3>查看镜像信息

查看所有加载过的docker镜像

[root@foundation81 images]# docker images

查看特定的镜像

[root@foundation81 images]# docker images game2048

 

<4>使用docker镜像game2048以后台模式启动一个容器,并将容器命名为 vm1

[root@foundation81 ~]# docker run -d --name vm1 game2048

ip addr查看docker

brctl show查看docker

 

[root@foundation81 ~]# docker ps     ##列出运行中的容器

[root@foundation81 ~]# docker ps -a    ##列出所有的容器

 

 

 获取容器/镜像的元数据

[root@foundation81 ~]# docker inspect vm1

测试:访问172.17.0.2—>game2048小游戏界面

 

docker端口映射

绑定容器的 80 端口,并将其映射到本地主机的 8080 端口上。

[root@foundation81 ~]# docker stop vm1

[root@foundation81 ~]# docker rm vm1

[root@foundation81 ~]# docker run -d --name vm1 -p 8080:80 game2048

[root@foundation81 ~]# iptables -t nat -nL        ##列出 nat 表所有链的所有规则

 

访问localhost:8080

 

docker加速器 

<1>阿里云加速器地址的获取

 

<2>配置镜像加速器 

[root@foundation81 docker]# vim /etc/docker/daemon.json

 

{
  "registry-mirrors": ["https://svw6kteo.mirror.aliyuncs.com"]    
}

[root@foundation81 docker]# systemctl daemon-reload

[root@foundation81 docker]# systemctl restart docker

 

查找nginx相关的镜像,发现即可下载

 

下载镜像:

注意配置完后要确保当前主机可以上网,这样就可以直接从官网pull下想要的镜像 。

[root@foundation81 images]# docker pull nginx

 

镜像管理

镜像用来创建容器,是容器的只读模板,默认可以从 docker hub 上下载。docker 的镜像是增量修改,每次创建新的镜像都会在父镜像上构建一个增量的层,基于 AUFS 技术。

docker rmi         删除镜像
docker search  查询镜像
docker pull        拉取镜像
docker push      推送镜像

 

 

docker容器管理

docker run -it --name vm1 ubuntu bash #创建容器

docker ps -a #查看容器进程

docker attach vm1 #连接容器

docker top vm1 #查看容器状态

docker logs vm1 #查看容器指令输出 -f 参数可以实时查看

docker inspect vm1 #查看容器详情

docker stats vm1 #查看容器资源使用率

docker diff vm1 #查看容器修改

docker run -d --name vm1 ubuntu bash -c "while true; do echo hello; sleep 1; done" #后台运行

docker stop vm1 #停止容器

docker start vm1 #启动容器

docker kill vm1 #强制干掉容器

docker restart vm1 #重启容器

docker pause/unpause vm1 #暂停/恢复容器

docker rm vm1 #删除容器

docker export vm1 > vm1.tar #导出容器

docker import vm1.tar image #导入容器为镜像 image
 

docker 开启一个交互式的容器:

[root@foundation81 images]# docker run -it --name vm1 ubuntu

root@b4f4de50e0bf:/# ls
bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
boot  etc  lib   media  opt  root  sbin  sys  usr
root@b4f4de50e0bf:/# exit     ##ctrl + D 退出该交互模式并且停止该容器

[root@foundation81 images]# docker run -it --name vm1 ubuntu

root@655baa85abf6:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
96: eth0@if97: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
root@655baa85abf6:/#                 ##crtl +P +Q 退出当前的交互模式,该容器仍属于运行状态

 想要进入重新进入处于运行状态的容器的交互页面时,可以使用attach命令

[root@foundation81 images]# docker attach vm1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值