来源于官方文档
http://docs.docker-cn.com/engine/installation/linux/linux-postinstall/
以非root用户身份管理Docker:
docker守护进程绑定至Unix套接字,而不是TCP端口。
默认情况下,该Unix套接字由用户root所有,而其他用户只能使用sudo访问它。
docker守护进程始终以root用户身份运行。
在使用docker命令时,如果不想使用sudo,创建名为docker的Unix组并向其中添加用户。docker守护进程启动时,它将使Unix套接字的所有权可由docker组进行读取/写入。
1、 创建docker组
sudo groupadd docker
2、 向docker组中添加用户
sudo usermod -aG docker odysee
3、 重启服务器
sudo init 6
4、 测试
启动服务:systemctl start docker
运行:docker run hello-world
二、Docker配置为在开机启动
1、 sudo systemctl enable docker[禁用:sudo systemctl disable docker]
2、sudo chkconfig docker on
3、 docker运行Nginx实例
1、 首先了解几个命令
//获取镜像
docker pull [OPTIONS] NAME[:TAG]
//列出镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]
//运行container
docker run [OPTIONS] IMAGE[:TAG] [COMMAND] [ARG....]
//列出container
docker ps
2、以Nginx为例
这里使用网易云的镜像库
选择第一个小鲸鱼图标的,这也是从docker官方镜像库中同步过来的
3、获取Nginx镜像
//latest表示最新版
docker pull hub.c.163.com/library/nginx:latest
4、列出镜像
docker images
5、准备docker run
查看帮助
docker run --help
-d
表示在后台运行并且返回容器的id[运行的镜像]
-p[小写字母p]
把host的指定端口映射到容器的端口
-P[这个是大写字母P]
把host随机生成的端口映射到容器的端口
//把本机的9527端口映射到容器的Nginx的80端口
docker run -d -p 9527:80 hub.c.163.com/library/nginx
列出container
docker ps
通过这里我们也可以看到端口之间的映射
测试
在浏览器中访问9527端口
Ip:9527
测试成功。
下面再测试一下-P
把现在运行的Nginx container停掉
docker stop containerid
docker stop e2d7c9fa2c26
使用-P运行容器
docker run -d -P hub.c.163.com/library/nginx
可以看到这里的随机端口是32778
在浏览器中访问
测试完成
本文暂时没有评论,来添加一个吧(●'◡'●)