docker命令,网络访问(二)
1.docker命令
# docker pull centos //拉取centos镜像
#docker images
root@bogon ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 9e7424e5dbae 6 days ago 108MB hello-world latest f2a91732366c 8 days ago 1.85kB tomcat latest 11df4b40749f 2 weeks ago 557MB centos latest d123f4e55e12 3 weeks ago 197MB
# docker run centos:latest /bin/echo "hello world"
hello world
各个参数解析: docker: Docker 的二进制执行文件。 run:与前面的 docker 组合来运行一个容器。 centos 指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。 /bin/echo "Hello world": 在启动的容器里执行的命令 以上命令完整的意思可以解释为:Docker 以 centos 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。
2.运行交互式的容器
[root@bogon ~]# docker run -i -t centos /bin/bash
[root@7d9afb5f7a20 /]# ls
anaconda-post.log bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
[root@7d9afb5f7a20 /]# cd root
[root@7d9afb5f7a20 ~]# ls
anaconda-ks.cfg original-ks.cfg
[root@7d9afb5f7a20 ~]# exit
exit
各个参数解析: -t:在新容器内指定一个伪终端或终端。 -i:允许你对容器内的标准输入 (STDIN) 进行交互。
3.后台运行docker
[root@bogon ~]# docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done" 14a55b4b7a6886e3f8b781e969c5eac6ec3112635cad167418daa440e3502481 [root@bogon ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 14a55b4b7a68 centos "/bin/sh -c 'while t…" 12 seconds ago Up 11 seconds trusting_feynman [root@bogon ~]# docker logs 14a55b4b7a68 hello world hello world hello world [root@bogon ~]# docker stop 14a55b4b7a68 14a55b4b7a68 [root@bogon ~]# [root@bogon ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
- 14a55b4b7a6886e3f8b781e969c5eac6ec3112635cad167418daa440e3502481这个长字符串叫做容器ID,对每个容器来说都是唯一的
-
CONTAINER ID:容器ID
NAMES:自动分配的容器名称
在容器内使用docker logs命令
- docker stop 命令来停止容器
4.查找拖取镜像
docker search httpd
docker pull httpd
在使用docker容器时,有时候里边没有安装vim,敲vim命令时提示说:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package vim 这时候需要敲:apt-get update,这个命令的作用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。 等更新完毕以后再敲命令:apt-get install vim命令即可。
docker端口映射
[root@test1 ~]# brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.02427d2aa8da no veth1125f25
virbr0 8000.52540013cc46 yes virbr0-nic
[root@test1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
[root@test1 ~]# docker run -d -P --name mynginx1 nginx
6c6746389a2571220404819183aadb244aabbcddbebe6170451682a860d8041c
[root@test1 ~]# docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6c6746389a25 nginx "nginx -g 'daemon ..." 6 seconds ago Up 5 seconds 0.0.0.0:32768->80/tcp mynginx1

指定映射端口

docker run -d -p 91:80 mynginx2 nginx

浙公网安备 33010602011771号