使用docker run来创建启动容器时,几个常用参数介绍
安装docker,下载镜像,可以通过docker run来创建并启动容器。运行docker run 可以带一些参数,常用的有如下几种:-i 打开交换模式(interactive)-t 打开登录终端(tty)-d 后台登录-p 发布端口,把宿主机端口映射到容器端口上-v 目录映射(volume),把宿主机目录映射到容器中。– privileged 开启特权模式– name 指定容器名称例如上篇用do
安装docker,下载镜像,可以通过docker run来创建并启动容器。
运行docker run 可以带一些参数,常用的有如下几种:
-i 打开交换模式(interactive)
-t 打开登录终端(tty)
-d 后台登录
-p 发布端口,把宿主机端口映射到容器端口上
-v 目录映射(volume),把宿主机目录映射到容器中。
– privileged 开启特权模式
– name 指定容器名称
例如上篇用docker安装lnmp时,启动nginx容器命令:
[root@localhost ~]# docker run --privileged -it -d --name nginx -p 80:80 \
-v /lnmp/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /lnmp/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /lnmp/nginx/html:/usr/share/nginx/html \
-v /lnmp/nginx/logs:/var/log/nginx nginx:1.18.0
通过 --name 指定容器名称
1、能方便标识容器,
2、方便启动、停用容器
docker start / stop name
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
861af3bccae4 php:5.6-fpm "docker-php-entrypoi…" 4 days ago Exited (255) 12 minutes ago 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp php-fpm
55cc5694695d mysql:5.7.32 "docker-entrypoint.s…" 4 days ago Exited (255) 12 minutes ago 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql
d4c36a62dde4 nginx:1.18.0 "/docker-entrypoint.…" 4 days ago Exited (255) 12 minutes ago 0.0.0.0:80->80/tcp, :::80->80/tcp nginx
[root@localhost ~]# docker start nginx
nginx
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d4c36a62dde4 nginx:1.18.0 "/docker-entrypoint.…" 4 days ago Up 1 second 0.0.0.0:80->80/tcp, :::80->80/tcp nginx
[root@localhost ~]#
2、通过-p指定端口
宿主机IP+指定端口直接可以访问容器内服务。
3、通过-v指定宿主机目录映射到容器
1、方便修改容器目录内容或配置
2、实现数据容器外持久化。
比如上面,要修改nginx配置文件,直接修改宿主机上nginx.conf即可
要修改nginx发布的内容,直接修改宿主机上html目录内容即可。
注意:
如果不指定-v这个参数,要修改容器里的内容怎么办?
1、通过docker cp,把容器里面的文件cp到宿主机,在宿主机上修改后,再docker cp进容器。
2、通过docker exec登录进容器里面,这种方式,linux大部份命令不支持,不方便操作。
更多推荐
所有评论(0)