Docker容器搭建及使用

2022-06-17 11:58:14

Docker

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

Docker的部署与安装

1.安装docker和相关依赖性

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

2.打开docker服务

[root@server1 docker]# systemctl start docker

3.在安装好docker后,linux系统会为docker容器分配一个ip,利用ip addr中查看docker0的ip

[root@server1 docker]#  ip addr

在这里插入图片描述

4.查看docker的版本信息

[root@server1 docker]# docker version

在这里插入图片描述

5.docker宿主机的信息

[root@server1 docker]# docker info

在这里插入图片描述

Docker常用的基础命令

# docker load -i ubuntu.tar  导入镜像
# docker run -it --name vm1 ubuntu    创建容器(以ubuntu镜像为模板)
# docker run -d -p 80:80 --name vm1 game2048  创建容器并指定端口映射(前一个是外部端口,后一个是内部监听端口)
# docker run -it --name vm2 ubuntu 创建交互式容器
# docker ps  查看容器状态
# docker ps -a   查看容器状态(包括不活跃的容器)
# docker attach vm1   连接容器
# docker top vm1   查看容器进程
# docker logs vm1 查看容器指令输出 -f 参数可以实时查看
# docker inspect vm1 查看容器详情
# docker stats vm1 查看容器资源使用率
# docker diff vm1 查看容器修改
# docker stop vm1 停止容器
# docker start vm1 启动容器
# docker kill vm1 强制干掉容器
# docker restart vm1 重启容器
# docker pause/unpause vm1  暂停/恢复容器
# docker rm vm1  删除容器
rm   删除容器
rmi   删除镜像

镜像的导入和容器的使用

2048游戏

1.导入镜像game2048.tar

[root@server1 ~]# docker load -i game2048.tar

在这里插入图片描述

2.查看镜像

[root@server1 ~]# docker images

在这里插入图片描述

3.运行镜像,制作成容器,取名为vm1

[root@server1 ~]# docker run -d -p 80:80 --name vm1 game2048
#-d打入后台
#-p端口映射
# --name表示为这个容器起的名字是vm1

4.查看vm1容器的信息

[root@server1 ~]# docker inspect vm1

在这里插入图片描述

4.查看容器状态

[root@server1 ~]# docker ps

在这里插入图片描述

5.浏览器访问测试
在自己本地可以输入内部ip,即docker自动分配的ip(172.17.0.2)
在外部访问输入容器所在主机的ip
在这里插入图片描述

交互式容器

1.创建并导入

[root@server1 ~]# docker load -i ubuntu.tar   #加载ubuntu镜像
[root@server1 ~]# docker run -it --name vm2 ubuntu
root@d7dbc467da39:/# ip addr   创建一个vm1的镜像,-it表示打开交互式docker界面(ubuntu自带,rhel镜像需要在后面再加bash)

在这里插入图片描述

交互式界面退出
ctrl+pq   不停止容器,后台运行
ctrl+d    直接结束容器,释放内存

2.连接容器vm2,并创建文件

[root@server1 ~]# docker attach vm2
root@d7dbc467da39:/# touch file{1..10}

在这里插入图片描述

如果你修改了原本容器的某些配置,想要保存这个容器的配置并形成一个新的镜像,就可以使用commit命令,基于该容器创建出一个新的镜像。即:commit 主要用于通过差异性,创建一个新的image。

[root@server1 ~]# docker commit -m "add files" vm2 ubuntu:v1   ##使用commit命令基于一个现有的镜像来修改
sha256:aa00ef2f4ef47e732351fde35d6affa60536257de053abcc553e219f2540f934
[root@server1 ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              v1                  aa00ef2f4ef4        3 seconds ago       188MB
game2048            latest              19299002fdbe        2 years ago         55.5MB
ubuntu              latest              07c86167cdc4        3 years ago         188MB
[root@server1 ~]# docker history ubuntu:v1
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
aa00ef2f4ef4        20 seconds ago      /bin/bash                                       0B                  add files
07c86167cdc4        3 years ago         /bin/sh -c #(nop) CMD ["/bin/bash"]             0B                  
<missing>           3 years ago         /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$…   1.9kB               
<missing>           3 years ago         /bin/sh -c echo '#!/bin/sh' > /usr/sbin/poli…   195kB               
<missing>           3 years ago         /bin/sh -c #(nop) ADD file:b9504126dc5590898…   188MB

在这里插入图片描述

  • 作者:dzh1125641239
  • 原文链接:https://blog.csdn.net/dzh1125641239/article/details/90648318
    更新时间:2022-06-17 11:58:14