Docker常用命令分享二
docker的用户组管理过程:
1、sudo : 可以让普通用户临时获得root用户的权限,来新建docker用户组
2、普通用户并没有使用sudo的权限
3、先要让root用户把testing用户加入到sudoers的授权文件中
4、sudoers的文件居然是只读的,先解决这个问题
5、chmod u+w /etc/sudoers 用root用户的权限给sudoers文件赋予写权限
6、在sudoers文件中,添加testing ALL=(ALL) ALL这句话
7、现在testing用户就可以使用sudo的命令了。
sudo groupadd docker 添加docker用户组
sudo usermod -G docker testing 向docker用户组中添加用户
8、重新登录linux
======================================================
1、镜像加速:添加/etc/docker/daemon.json
{
“registry-mirrors”: [
“https://registry.docker-cn.com”
]
}
2、容器运行分两种
(1)交互式运行
docker run -it webdevops/php-apache-dev /bin/bash
exit退出容器
(2)守护式运行
docker run -d webdevops/php-apache-dev
3、create状态也是exit的状态
============================================================
win8 ----vmware(linux)----docker(容器-php/apache/mysql)
实际工作:linux(host)—docker(容器-php/apache/mysql)
在配置文件中找DocumentRoot,就是apache的发布目录,可以将需要发布的web页面拷贝到该目录下。
cat vhost.conf |grep DocumentRoot 使用管道符和grep命令对DocumentRoot的关键字进行查找
webdevops/php-apache-dev 的发布目录是/app
编写一个简单的php页面:hello.php
<?php echo "Hello world! I like docker!"; ?>docker run -d -p 8082:80 -v /home/51testing/webtest:/app webdevops/php-apache-dev
· -p 8082:80 将主机中的8082端口映射到容器中的80端口
· -v /home/51testing/webtest:/app
将主机中的/home/51testing/webtest和容器中的/app做对接,实现数据共享(容器中的目录必须为空,否则主机目录中的内容将覆盖容器的目录内容)
docker run -d -p 8083:80 --mount source=myvol,target=/usr/local/apache2/htdocs httpd
–mount source=myvol 指定要挂载的数据卷是哪一个
,target=/usr/local/apache2/htdocs 要把数据卷挂到容器的什么目录下
技巧:docker rm $(docker ps -aq)
整体清除docker已经exit的容器
linux下的复制和黏贴快捷键
ctrl-insert 复制
shift-insert 黏贴
init 3 可以进入纯命令行的linux系统、使用ctrl+alt可以使鼠标退回到win里面
============================================================
1、查看自定义网络的详细信息
docker network inspect 自定义网络名
2、busybox
一个集成了一百多个最常用的linux命令的工具(比如cat,echo,grep,mount,telnet。。。。),大概在几个MB大小,很精简。可以供我们方便验证一些linux的命令,可以供我们快速学习一些linux命令。
3、busybox运行时不能用/bin/bash,要用sh。也是Linux中的一个人机接口
docker run -it --network=mynet --name box1 busybox sh
–network=mynet 将新建的容器加入到mynet的网络中
–name box1 是为新建的容器起一个好记的名字
4、
用目录映射的方式实现lamp:
docker run -d -p 8082:80 -v /root/Desktop/:/var/www/html --name mylamp nickistre/centos-lamp
用数据卷的方式实现lamp:
docker run -d -p 8083:80 --mount source=lampvol,target=/var/www/html nickistre/centos-lamp
======================================================