运行一个最简单的容器
1.1 首先我们为docker设置国内阿里云的镜像加速器
vagrant@ubuntu-xenial:/data/www$ sudo vi /etc/docker/daemon.json
写入以下json
{ "registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"] }
重启一下服务
vagrant@ubuntu-xenial:/data/www$ sudo systemctl restart docker
运行一个最简单的容器,输出hello docker
vagrant@ubuntu-xenial:/data/www$ docker run ubuntu echo hello docker #运行一个简单的容器 Unable to find image 'ubuntu:latest' locally latest: Pulling from library/ubuntu 54ee1f796a1e: Pull complete f7bfea53ad12: Pull complete 46d371e02073: Pull complete b66c17bbf772: Pull complete Digest: sha256:31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5 Status: Downloaded newer image for ubuntu:latest hello docker #输出hello docker vagrant@ubuntu-xenial:/data/www$ docker images #查看刚从远端镜像仓库pull到本地的镜像 REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 4e2eef94cd6b 2 weeks ago 73.9MB
下面我们运行一个有些意义的nginx容器
vagrant@ubuntu-xenial:/data/www$ docker run -p 8080:80 -d nginx Unable to find image 'nginx:latest' locally latest: Pulling from library/nginx bf5952930446: Pull complete cb9a6de05e5a: Pull complete 9513ea0afb93: Pull complete b49ea07d2e93: Pull complete a5e4a503d449: Pull complete Digest: sha256:b0ad43f7ee5edbc0effbc14645ae7055e21bc1973aee5150745632a24a752661 Status: Downloaded newer image for nginx:latest d127d03dba7937834f4f3821bed1bd9f6f5f775565ceab7cd759c91adafad3b9
说明:
-p 8080:80 是做端口映射的,把docker中nginx的80端口映射到本地host的8080端口
-d 把这个nginx做守护进程的方式启动vagrant@ubuntu-xenial:/data/www$ docker images #查看镜像已经是有了 REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 4e2eef94cd6b 2 weeks ago 73.9MB nginx latest 4bb46517cac3 3 weeks ago 133MB vagrant@ubuntu-xenial:/data/www$ docker ps #可以看到我们当前运行的容器 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d127d03dba79 nginx "/docker-entrypoint.…" 6 minutes ago Up 6 minutes 0.0.0.0:8080->80/tcp intelligent_knuth vagrant@ubuntu-xenial:/data/www$
下面我们访问一下这个nginx容器
查看一下虚拟机的IPvagrant@ubuntu-xenial:/data/www$ ifconfig enp0s8 Link encap:Ethernet HWaddr 08:00:27:a1:9c:bb inet addr:192.168.33.12 Bcast:192.168.33.255 Mask:255.255.255.0 #192.168.33.12 这个即为我们之前设置的虚拟机静态IP inet6 addr: fe80::a00:27ff:fea1:9cbb/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:992 (992.0 B) TX bytes:648 (648.0 B)
下面我们修改一下nginx欢迎页面,首先我们创建一个文件,写入 welcome Docker !
vagrant@ubuntu-xenial:/data/www$ sudo vi index.html
vagrant@ubuntu-xenial:/data/www$ cat index.html
welcome Docker !
vagrant@ubuntu-xenial:/data/www$
vagrant@ubuntu-xenial:/data/www$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d127d03dba79 nginx "/docker-entrypoint.…" 26 minutes ago Up 26 minutes 0.0.0.0:8080->80/tcp intelligent_knuth
vagrant@ubuntu-xenial:/data/www$ docker cp index.html d127d03dba79:/usr/share/nginx/html #把新创建的index.html 复制到容器中
说明:
docker cp 要复制的文件 容器的ID:容器中nginx的根目录
再次访问 http://192.168.33.12:8080/
这种方式把主机的index.html 文件复制到docker的nginx容器中的根目录修改是暂时性的
如果想永久生效,需要 docker commit -m 'replace index.html' 容器ID 新的镜像名称 提交永久保存,其实是生成了一个新的images。
这里就不在掩饰,感兴趣的小伙伴可以自己尝试一下。
Comment here is closed