docker容器基本命令使用(Ubuntu16环境)

1:docker搜索镜像文件

docker search 【镜像文件名称】 //用于查询docker公共容器下有哪些镜像文件可以拉取(下面就拿nginx来举个栗子)

root@iZbp1hh7ckvf1bzchy4otwZ:/# docker search nginx
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                             Official build of Nginx.                        11823     [OK]       
jwilder/nginx-proxy               Automated Nginx reverse proxy for docker c...   1640                 [OK]
richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable ...   734                  [OK]
linuxserver/nginx                 An Nginx container, brought to you by Linu...   73                   
bitnami/nginx                     Bitnami nginx Docker Image                      69                   [OK]
tiangolo/nginx-rtmp               Docker image with Nginx using the nginx-rt...   51                   [OK]
nginxdemos/hello                  NGINX webserver that serves a simple page ...   23                   [OK]
jc21/nginx-proxy-manager          Docker container for managing Nginx proxy ...   22                   
nginx/nginx-ingress               NGINX Ingress Controller for Kubernetes         20                   
jlesage/nginx-proxy-manager       Docker container for Nginx Proxy Manager        20                   [OK]
schmunk42/nginx-redirect          A very simple container to redirect HTTP t...   17                   [OK]
crunchgeek/nginx-pagespeed        Nginx with PageSpeed + GEO IP + VTS + more...   13                   
blacklabelops/nginx               Dockerized Nginx Reverse Proxy Server.          12                   [OK]
centos/nginx-18-centos7           Platform for running nginx 1.8 or building...   11                   
centos/nginx-112-centos7          Platform for running nginx 1.12 or buildin...   10                   
nginxinc/nginx-unprivileged       Unprivileged NGINX Dockerfiles                  9                    
nginx/nginx-prometheus-exporter   NGINX Prometheus Exporter                       5                    
sophos/nginx-vts-exporter         Simple server that scrapes Nginx vts stats...   5                    [OK]
1science/nginx                    Nginx Docker images that include Consul Te...   5                    [OK]
mailu/nginx                       Mailu nginx frontend                            3                    [OK]
pebbletech/nginx-proxy            nginx-proxy sets up a container running ng...   2                    [OK]
travix/nginx                      NGinx reverse proxy                             2                    [OK]
centos/nginx-110-centos7          Platform for running nginx 1.10 or buildin...   0                    
wodby/nginx                       Generic nginx                                   0                    [OK]
ansibleplaybookbundle/nginx-apb   An APB to deploy NGINX                          0                    [OK]
root@iZbp1hh7ckvf1bzchy4otwZ:/# 

2:docker 拉取镜像文件

docker pull 【镜像文件名称】 //镜像文件名称:上面search数据中的name字段名称

root@iZbp1hh7ckvf1bzchy4otwZ:/# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
1ab2bdfe9778: Pull complete 
c88f4a4e0a55: Pull complete 
1a18b1b95ce1: Pull complete 
Digest: sha256:5411d8897c3da841a1f45f895b43ad4526eb62d3393c3287124a56be49962d41
Status: Downloaded newer image for nginx:latest
root@iZbp1hh7ckvf1bzchy4otwZ:/#

3:查看docker容器里的镜像文件

docker images

root@iZbp1hh7ckvf1bzchy4otwZ:/# docker images
(镜像文件名称)	  (镜像版本)			   (镜像文件id)		   (镜像时间)		  (镜像大小)
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              4733136e5c3c        19 hours ago        126MB
rabbitmq            management          99cbda713eff        9 days ago          177MB
root@iZbp1hh7ckvf1bzchy4otwZ:/# 

4:在docker容器里启动nginx

docker run -d --name my-nginx -p 9000:80 nginx
参数:
-d 表示启动的应用nginx在后台运行
--name my-nginx表示给启动的应用nginx起个别名(my-nginx根据个人命名)
-p 9000:80 -p来指定Docker容器中nginx实例对外开放的端口。(端口号根据实际情况填写。9000和80是用来测试端口号)
第一个9000端口是我自己服务器对外开放的端口,
第二个80端口指对外开放的端口映射到容器里的端口号
nginx 表示启动的镜像名称

root@iZbp1hh7ckvf1bzchy4otwZ:/# docker run -d --name my-nginx -p 9000:80 nginx
a74ae933d5bd5062986589cfc84679472f21c0284cd8de5da77a111da7c8743c
root@iZbp1hh7ckvf1bzchy4otwZ:/# 
注:上面一串字符串是nginx容器的id(每次通过镜像文件启动一个容器都会随机生成一个唯一容器id)

5:查看docker里运行的容器

docker ps

root@iZbp1hh7ckvf1bzchy4otwZ:/# docker ps
(容器ID)			  (镜像名称)		     (启动镜像命令)			  (容器创建时间)	     (容器运行的状态)			(端口映射)			  (容器别名)
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
a74ae933d5bd        nginx               "nginx -g 'daemon ..."   13 minutes ago      Up 13 minutes       0.0.0.0:9000->80/tcp   my-nginx
root@iZbp1hh7ckvf1bzchy4otwZ:/# 

6:通过浏览器访问docker里的nginx

47.97.172.196:9000 //服务器名称+对外开放端口
说明成功在docker启动nginx(注:如果你的浏览器访问不了请检查防火墙,对外开放的端口号9000是否开放,如果防火墙已开放仍然无法访问,就登录(阿里云)服务器,去查看安全组端口号是否开放。这样就应该能够访问了

7:镜像文件和容器的删除

===注:以下命令中的容器别名 | 容器id二选一即可
1:停止容器运行
docker stop 容器别名 | 容器id
:2:删除镜像文件生成的应用容器
docker rm 容器别名 | 容器id
注:若删除容器时出现上面error,则表明该容器还在运行,要先停止容器运行
或者docker rm -f 容器别名 | 容器id 强制性删除
Error response from daemon: You cannot remove a running container a74ae933d5bd5062986589cfc84679472f21c0284cd8de5da77a111da7c8743c. Stop the container before attempting removal or force remove
3:删除镜像文件
docker rmi 镜像名称 | 镜像id 或者 docker rmi -f 镜像名称 | 镜像id
4:进入nginx容器
docker exec -it 容器别名 | 容器id /bin/bash

进入nginx容器

root@iZbp1hh7ckvf1bzchy4otwZ:/# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
a74ae933d5bd        nginx               "nginx -g 'daemon ..."   About an hour ago   Up About an hour    0.0.0.0:9000->80/tcp   my-nginx
root@iZbp1hh7ckvf1bzchy4otwZ:/# docker exec -it a74ae933d5bd /bin/bash 
================================进入容器=====================================
root@a74ae933d5bd:/#
root@a74ae933d5bd:/# cd /etc/nginx/
root@a74ae933d5bd:/etc/nginx# ls
conf.d	fastcgi_params	koi-utf  koi-win  mime.types  modules  nginx.conf  scgi_params	uwsgi_params  win-utf
root@a74ae933d5bd:/etc/nginx# cd conf.d/
root@a74ae933d5bd:/etc/nginx/conf.d# ls
default.conf
root@a74ae933d5bd:/etc/nginx/conf.d# exit
exit
================================退出容器=====================================
root@iZbp1hh7ckvf1bzchy4otwZ:/#

上面root@后面已经变成nginx容器id号了,说明已经进去nginx容器里。

修改nginx容器配置

  • 方法一:直接进入容器内部 docker exec -it 容器别名 或 容器id /bin/bash然后进入目录cd /etc/nginx/conf.d/default.conf 文件可以做常用配置修改,主配置文件在 /etc/nginx/nginx.conf目录
  • 方法二:通过文件挂载方式,将方法一中两个配置文件挂载到宿主主机目录下,之后修改宿主机挂载目录即可完成配置文件修改。具体挂载方法百度有很多
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值