千家信息网

Docker 之 容器重要日常操作

发表于:2024-10-15 作者:千家信息网编辑
千家信息网最后更新 2024年10月15日,一、映射端口docker run -p 容器外端口:容器内端口发布一个nginx应用-----[root@docker ~]# docker images #查看镜像REPOSITORY
千家信息网最后更新 2024年10月15日Docker 之 容器重要日常操作

一、映射端口

docker run -p 容器外端口:容器内端口
发布一个nginx应用-----[root@docker ~]# docker images       #查看镜像REPOSITORY            TAG                     IMAGE ID            CREATED             SIZEmyalpine              latest_with_hello.txt   3ce9b8b899ba        17 hours ago        5.59MBnginx                 latest                  f7bb5701a33c        10 days ago         126MBalpine                latest                  cc0abc535e36        2 weeks ago         5.59MBzhoumingkang/alpine   v3.10.3                 cc0abc535e36        2 weeks ago         5.59MBalpine                3.9.4                   055936d39205        8 months ago        5.53MBhello-world           latest                  fce289e99eb9        12 months ago       1.84kB[root@docker ~]# docker run --rm -d --name mynginx -p80:80 nginx:latest    #运行容器12f98b8cbbc8c918dce442c085b6e6a8e40df86a41d7016c8c8bfb1395b5bc90[root@docker ~]# docker ps CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES12f98b8cbbc8        nginx:latest        "nginx -g 'daemon ofΒ   6 seconds ago       Up 4 seconds        0.0.0.0:80->80/tcp   mynginx[root@docker ~]# netstat -tlunp | grep 80tcp6       0      0 :::80                   :::*                    LISTEN      10728/docker-proxy  

二、挂载数据卷

docker run -v 容器外目录:容器内目录
把当前主机/root/html目录挂载到容器内/usr/share/nginx/html-----[root@docker html]# docker run --rm -d --name mynginx1 -p81:80 -v/root/html:/usr/share/nginx/html nginx:latest     #影射端口并挂载本地目录到容器内5b3ef0ed66d8927c6e3e502c8cc652243e81e94922f8b6310fa26bf9cb0ab8c1[root@docker html]# netstat -tlunp | grep 81tcp6       0      0 :::81                   :::*                    LISTEN      11587/docker-proxy [root@docker html]# docker ps | grep mynginx15b3ef0ed66d8        nginx:latest        "nginx -g 'daemon of…"   6 minutes ago       Up 6 minutes        0.0.0.0:81->80/tcp   mynginx1[root@docker html]# docker exec -ti 5b3ef0ed66d8 /bin/sh     #进入该容器# ls /usr/share/nginx/html     #查看宿主机目录是否挂载上去index.html

三、传递环境变量

docker run -e 变量名=变量值
把系统变量增加一段mingkang_env=mingkang_test-----[root@docker html]# docker run -ti --rm --name myalpine -e mingkang_env=mingkang_test alpine:latest /bin/sh/ # envHOSTNAME=b6dad57f224fSHLVL=1HOME=/rootmingkang_env=mingkang_test         #增加的环境变量TERM=xtermPATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binPWD=/备注:多环境变量时,多加-e

四、在容器里安装工具

在当前NGINX容器里,安装curl工具命令-----[root@docker html]# docker ps -aCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES5b3ef0ed66d8        nginx:latest        "nginx -g 'daemon of…"   33 minutes ago      Up 33 minutes       0.0.0.0:81->80/tcp   mynginx1[root@docker html]# docker exec -ti mynginx1 /bin/bash  root@5b3ef0ed66d8:/# apt-get updateroot@5b3ef0ed66d8:/# apt-get install -y curl     #容器里安装工具root@5b3ef0ed66d8:/# which curl/usr/bin/curl

五、对刚刚更新了apt-get与安装curl工具的容器进行镜像封装,并提交到docker hub上。

[root@docker html]# docker commit -p mynginx1 zhoumingkang/nginx:curl   #生成本地镜像 sha256:d1b81c37853c29e7069b5127e19e28f0eb964f7a5720a81880a1f3ecda4c88b4[root@docker html]# docker imagesREPOSITORY            TAG                     IMAGE ID            CREATED             SIZEzhoumingkang/nginx    curl                    d1b81c37853c        6 seconds ago       152MBmyalpine              latest_with_hello.txt   3ce9b8b899ba        24 hours ago        5.59MBnginx                 latest                  f7bb5701a33c        10 days ago         126MBalpine                latest                  cc0abc535e36        2 weeks ago         5.59MBzhoumingkang/alpine   v3.10.3                 cc0abc535e36        2 weeks ago         5.59MBalpine                3.9.4                   055936d39205        8 months ago        5.53MBhello-world           latest                  fce289e99eb9        12 months ago       1.84kB[root@docker html]# docker push zhoumingkang/nginx:curl     #推送镜像到远端The push refers to repository [docker.io/zhoumingkang/nginx]edb65c87d072: Pushed 75248c0d5438: Mounted from library/nginx 49434cc20e95: Mounted from library/nginx 556c5fb0d91b: Mounted from library/nginx curl: digest: sha256:15a6e2920bc27d9a46a5025b938d54451bac6e499ae51c65cc812d9a193f8f59 size: 1160[root@docker html]# 
0