Docker程序员首页投稿(暂停使用,暂停投稿)

docker快速上手

2016-10-30  本文已影响397人  YONGSSU的技术站点

docker安装

安装请参考docker官网:https://docs.docker.com/engine/installation/linux/ubuntulinux/

容器相关命令

sudo docker start | restart | stop
sudo docker info
sudo docker run --name first_container -it ubuntu /bin/bash
docker ps -a
docker ps -a -l #列出最后一次运行的容器
sudo docker start first_container
sudo docker start container_id #也可以用从其id启动
sudo docker start container_name #重新启动一个容器
sudo docker run --name container_name -d ubuntu /bin/bash
sudo docker stop container_name
sudo docker logs container_name
sudo docker logs -f container_name #监控docker日志
sudo docker logs --tail 10 container_name #获取日志最后10行
sudo docker logs --tail 0 -f container_name #跟踪某个容器的最新日志而不必读取日志文件
sudo docker logs -ft container_name #-t标志为每条日志加上时间戳,方便调试
sudo docker top container_name
sudo cocker run --restart=always --name container_name -d ubutu

--restart:always,on-failure
--restat=on-failure:5,自动尝试重启五次

sudo docker inspect container_name

docker inspect命令会对容器进行详细的检查,然后返回其配置信息,包括名称、命令、网络配置的数据,也可以用-f或者--format标志来选定查看结果。

sudo docker inspect --format='{{.State.Running}}' container_name
#查看多个容器
sudo docker inspect --format='{{.Name}} {{.State.Running}}' container_name_1 container_name_2

/var/lib/docker目录存放着docker镜像、容器以及容器的配置,所有的容器都保存在/var/lib/docker/containers目录下

sudo docker rm container_name | container_id

运行的docker容器是无法删除的,必须先通过docker stop或者docker kill命令停止容器,才能删除。

sudo docker rm `docker ps -a -q`

镜像相关命令

sudo docker images

本地镜像都保存在dockers宿主机的/var/lib/docker目录下。镜像从仓库下载,镜像保存在仓库中,而仓库存在于Registry中,默认的Registry是由Docker公司运营的公共Registry服务,及Docker Hub

docker pull ubuntu #拉取镜像
docker pull ubuntu:14.04 #拉去tag为14.04的镜像

指定仓库的标签是一个好习惯,这样可以准确的制定容器来源于哪里。
Docker Hub有两种仓库:用户仓库和顶层仓库,用户仓库的镜像由Docker用户创建,顶层仓库由Docker内部人来管理。

sudo docker images container_name
sudo docker search container_name
sudo docker build --no-cache -t="jamtur01/static_web"
sudo docker images jamtur01/static_web
sudo docker history22d47c8cb3jkk
sudo docker run -d -p 80 --name static_web jamtur01/static_web nginx -g "daemon off;"

-d:说明在后台运行
-p:控制docker在运行时应该公开哪些网络端口给宿主机,-p还可以灵活的管理容器和宿主机之间的端口映射关系

sudo docker run -d -p 80:80 --name static_web jamtur01/static_web nginx -g "daemon off;"
sudo docker run -d -p 8080:80 --name static_web jamtur01/static_web nginx -g "daemon off;"
#端口限制在特定的IP上
sudo docker run -d -p 127.0.0.1:8080:80 --name static_web jamtur01/static_web nginx -g "daemon off;"

-P:可以用来对外公开在Dockerfile中EXPOSE指令中设置的所有端口

sudo docker run -d -P --name static_web jamtur01/static_web nginx -g "daemon off;"

运行一个容器时,Docker可以通过两种方法来在宿主机上分配端口。
* Docker可以在宿主机上随机选择一个位于49153~65535的一个比较大的端口好来映射到容器中的80端口上。
* 可以在Docker宿主机中指定一个具体的端口好来映射到容器中的80端口上。

sudo docker ps -l
##指定要查看映射情况的容器ID和容器的端口号
sudo docker port container_id 80
上一篇 下一篇

猜你喜欢

热点阅读