您的位置:首页 > 运维架构 > Docker

使用docker镜像运行一个容器的操作…

2016-10-19 23:26 781 查看
操作主机必须安装和运行docker,以公司192.168.0.206服务器为例

先可用docker images指令罗列所有docker镜像

查看有哪些docker镜像可用

[root@localhost Dockerfiles]# docker images

REPOSITORY                       TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

dev-centos6-nginx-php5.6-redis   201602161823        7d9f7c151adf        40 hours ago        419.9 MB

dev-centos6-nginx-php5.6-redis   201602161753        930656246b34        40 hours ago        419.9 MB

dev-centos6-nginx-php5.6-redis   201602151417        fd5c52b3a9f7        2 days ago          425.2 MB

docker.io/mysql                  latest              596847483ae2        3 weeks ago         360.2 MB

dev-centos6-nginx-php5.6-redis   latest              136648699c60        4 weeks ago         416.2 MB

dev-centos6-nginx-php5.3-redis   latest              9b1345f095d0        7 weeks ago         446.6 MB

dev-centos7-nginx-php5.4-redis   latest              98aa3cd33449        8 weeks ago         382 MB

docker.pepszxy.com:5000/nginx    latest              813e3731b203        9 weeks ago         133.8 MB

nginx-php-redis                  php5.4              330efb9de8ba        10 weeks ago        454.3 MB

nginx-php                        latest              df3875b298c2        10 weeks ago        374.2 MB

docker.io/centos                 6                   3bbbf0aca359        4 months ago        190.6 MB

docker.io/centos                 7                   ce20c473cd8a        4 months ago        172.3 MB

通过docker镜像的REPOSTORY:TAG的组合或IMAGE
ID可唯一确定一个镜像,一般使用REPOSTORY:TAG居多,IMAGE ID不太好记

使用docker run 指令基于镜像启动一个容器,docker run接受许多配置参数,可通过docker run
help指令查看帮助文档,通常使用的参数

解析如下:

-d 以daemon的形式运行docker
容器,而不是启动后便停止,适合类似nginx,mysql,php等需长期提供服务的容器运行

-w 指定容器的工作目录,类似用户的家目录,进入容器后会首先进入-w指定的目录,通常不指定也没关系

--name 指定容器名称,不指定名称,docker将使用任意字符代替

--restart 指定容器故障时的重启策略,推荐always参数

-p 指定端口映射的方式,-p 8090:80代表将主机的8090端口映射至容器80端口

-v 指定数据卷映射,一般用于数据持久化保存场景,比如代码目录和数据目录,-v
主机目录:容器目录表示将主机目录挂载到容器目录,容器

的实时数据操作将得到保留。删除容器不会删除数据

使用206dev-centos6-nginx-php5.6-redis:201602161823启动一个容器

[root@localhost Dockerfiles]# docker run -d --name=test.dev.dtedu.com --restart=always -w /data/web -v /home/test.dev.dtedu.com:/data/web dev-centos6-nginx-php5.6-redis:201602161823

9449fc1a56696aba66925abe7c9ae37a9f6d97cb65f1e2162d8ba1b4e7caad3c

运行成功后,通过docker ps指令可查询到启动的容器

[root@localhost Dockerfiles]# docker ps -a

CONTAINER ID        IMAGE                                         COMMAND                  CREATED             STATUS              PORTS                           NAMES

9449fc1a5669        dev-centos6-nginx-php5.6-redis:201602161823   "supervisord -n"         52 seconds ago      Up 51 seconds       80/tcp                          test.dev.dtedu.com

有时候有更改容器名称的需求,可通过docker
rename指定来实现,比如可通过下列指令将test.dev.dtedu.com容器名修改为test2.dev.dtedu.com

[root@localhost Dockerfiles]# docker rename test.dev.dtedu.com test2.dev.dtedu.com

[root@localhost Dockerfiles]# docker ps -a

CONTAINER ID        IMAGE                                         COMMAND                  CREATED             STATUS              PORTS                           NAMES

9449fc1a5669        dev-centos6-nginx-php5.6-redis:201602161823   "supervisord -n"         3 minutes ago       Up 3 minutes        80/tcp                          test2.dev.dtedu.com

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: