docker的基本命令及操作逻辑

                  docker的基本命令及操作逻辑

image:镜像

container:容器

registry:仓库

docker hub ----> 公共的仓库

查找php的镜像

[root@localhost /]# docker search php

查看docker详细信息

[root@localhost /]# docker info

或者看看加速器

查找httpd的镜像

[root@localhost /]# docker search httpd

下载或拉取httpd的镜像

[root@localhost /]# docker pull httpd

导出镜像,并保存镜像为tar包

保存的名称为my-httpd.tar

[root@localhost /]# docker save --output my-httpd.tar httpd

查看镜像

[root@localhost /]# docker images

或者

[root@localhost /]# docker image ls

latest:最新的版本,但不是绝对最新

完整的镜像名称----》》 image:latest

如果版本号默认是一latest为结尾,解压省略不写

删除镜像

[root@localhost /]# docker rmi httpd:latest

[root@localhost /]# docker images

加载一个镜像

1)上传包

导入镜像包

[root@localhost /]# docker load --input my-httpd.tar

[root@localhost /]# docker images

运行镜像并后台运行

[root@localhost /]# docker run -itd --name test centos

查看镜像

[root@localhost /]# docker ps

进入容器(必须加/bin/bash)

[root@localhost /]# docker exec -it test /bin/bash

另一个命令进入容器,(可以不加/bin/bash但是退出之后。容器会停止运行)

[root@localhost /]# docker attach test

注意:exec进入容器会开启新的进程,attach不会开启新的进程

Ctrl +p Ctrl+q:如果是attach进入的容器Ctrl +p Ctrl+q退出容器,并保持容器运行

查看当前进程号

[root@localhost /]# echo $$

18260

使用exec开启容器

[root@localhost /]# docker start test

test

[root@localhost /]# docker exec -it test /bin/bash

[root@67c9b9de0743 /]# echo $$

使用attach开启容器

[root@localhost /]# docker attach test

[root@67c9b9de0743 /]# echo $$

1

使用快捷键退出容器并保持容器运行,Ctrl +p Ctrl+q

关闭容器

[root@localhost /]# docker stop test

删除所有容器,(跟 rm  -rf /* 一样)

[root@localhost /]# docker ps -a -q | xargs docker rm -f

关闭所有容器和开启

[root@localhost /]# docker run  -itd centos

567d5cd9623bb49b5b86eb07aa50260b6366dcfa6392a50e0e5d255ea1a3dec7

[root@localhost /]# docker ps -a -q | xargs docker stop

567d5cd9623b

b0981b364a78

[root@localhost /]# docker ps -a -q | xargs docker start

567d5cd9623b

b0981b364a78

查看容器的日志,(-f:动态的显示)

[root@localhost /]# docker run  -itd -p81:80 --name my-httpd httpd

[root@localhost /]# curl 127.0.0.1:81

root@localhost /]# docker logs my-httpd    

保持容器处于开启状态,(docker 服务重启之后)

[root@localhost /]# docker run -itd --name zhou --restart=always httpd

基于centos镜像部署安装一个nginx web服务器

运行一个容器

[root@localhost /]# docker run -itd --name web centos:latest

上传nginx

将nginx传给容器

[root@localhost /]# docker cp nginx-1.17.3.tar.gz web:/

安装依赖包

[root@d2554025e819 /]# yum -y install gcc openssl-devel pcre-devel zlib-devel make

安装nginx

[root@d2554025e819 /]# useradd -M -s /sbin/nologin nginx

[root@localhost /]# tar zxf nginx-1.17.3.tar.gz

[root@localhost /]# cd nginx-1.17.3/

[root@d2554025e819 nginx-1.17.3]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx

[root@d2554025e819 nginx-1.17.3]# make && make install

[root@d2554025e819 /]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/

[root@d2554025e819 /]# nginx

访问一下

在宿主机上访问容器的80端口

在宿主机上访问容器的80端口

更改一下网页

[root@d2554025e819 /]# cd /usr/local/nginx/html

[root@d2554025e819 html]# echo this is http > index.html

[root@d2554025e819 html]# curl 172.17.0.2

this is http

将容器制作成镜像

语法: commit  容器名称   生成镜像的名称(如果不加:v1.0则会默认生成latest)

[root@localhost /]# docker commit web my-nginx:v1.0

查看镜像

[root@localhost /]# docker images

基于刚刚的镜像生成容器

[root@localhost /]# docker run -itd --name web01 my-nginx:v1.0

[root@localhost /]# docker exec -it web01 /bin/bash

[root@d69f4430565c /]# nginx

追加网页

[root@d69f4430565c /]# echo 123 >> /usr/local/nginx/html/index.html

[root@d69f4430565c /]# curl 172.17.0.3

this is http

123

基于刚刚更改的网页生成镜像

[root@localhost /]# docker commit web01 my-nginx:2.0

注意:就算名称一样,后面的版本号不一样也可以同时存在

docker操作逻辑图

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值