Open liujiusheng opened 4 years ago
Ubuntu最大的问题是默认不能用root登录,导致很多地方权限不够,造成学习的时候不方便。所以先改这个问题吧。
以个人账号登录后切换到管理员账号:sudo su root 编辑:vim /etc/ssh/sshd_config port 22前的#号去掉
保存后service sshd restart重启sshd
passwd root
ip addr查看ip地址就可以用shell连接了
查看发行版本:cat /etc/lsb-release 我当前的版本为: 所以到这个链接下载软件包:https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/ 要注意的是至少需要下载docker-ce-cli_19.03.8~3-0~ubuntu-bionic_amd64.deb 、containerd.io_1.2.6-3_amd64.deb 、docker-ce_19.03.8~3-0~ubuntu-bionic_amd64.deb 三个软件包,并依次安装。
cat /etc/lsb-release
docker-ce-cli_19.03.8~3-0~ubuntu-bionic_amd64.deb 、containerd.io_1.2.6-3_amd64.deb 、docker-ce_19.03.8~3-0~ubuntu-bionic_amd64.deb
安装完成后就可以输入docker命令检查是否安装成功。
执行 docker pull nginx从网上下载nginx的镜像。
docker pull nginx
完成后可通过docker images查看本地已经有的镜像。
docker images
关闭ubuntu防火墙:sudo ufw disable。
sudo ufw disable
新建/root/html文件夹,并将html代码放进去,后续启动容器之后会映射这个目录内容到nginx镜像里去(经验证,无论是容器启动前放入宿主机/root/html的文件还是容器启动后再放入/root/html的文件都能被使用到,所以在实际使用过程中代码是可以随时替换的。而且/root/html文件夹也不一定要提前创建好,如果没有提前创建它会自己创建,容器销毁后也不会删除这个目录。/root/html目录的指定必须要是绝对路径不能是相对路径)。
/root/html
以只读模式在80端口启动一个叫some-nginx的容器,映射宿主机/root/html为放置代码的目录,映射宿主机/root/log为nginx产生的日志放置目录,执行: docker run --name some-nginx -v /root/html:/usr/share/nginx/html:ro -v /root/log:/var/log/nginx -d -p 80:80 nginx (/root/html是宿主机路径,/usr/share/nginx/html是docker中的路径,从代码目录和日志目录可以看出,这种共享目录的方式容器内外共用的实际是同一个文件,所以能随时读入也能随时写出)
docker run --name some-nginx -v /root/html:/usr/share/nginx/html:ro -v /root/log:/var/log/nginx -d -p 80:80 nginx
通过浏览器访问:http://host-ip/index.html即可访问到内容。
http://host-ip/index.html
查看正在运行的容器:docker ps 查看所有的容器:docker ps -all 可以找到容器的id。 查看镜像的Id:docker images,可以找到镜像的id
docker ps
docker ps -all
停止容器:docker stop 容器id 删除容器:docker rm 容器Id 删除镜像:docker rmi 镜像Id
docker stop 容器id
docker rm 容器Id
docker rmi 镜像Id
参考: https://blog.csdn.net/dantesite/article/details/86157787
Ubuntu最大的问题是默认不能用root登录,导致很多地方权限不够,造成学习的时候不方便。所以先改这个问题吧。
启用权限
以个人账号登录后切换到管理员账号:sudo su root 编辑:vim /etc/ssh/sshd_config port 22前的#号去掉
PermitRootLogin prohibit-password改为PermitRootLogin yes
保存后service sshd restart重启sshd
为root账户设置密码
passwd root
ip addr查看ip地址就可以用shell连接了
开始离线安装Docker
查看发行版本:
cat /etc/lsb-release
我当前的版本为: 所以到这个链接下载软件包:https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64/ 要注意的是至少需要下载docker-ce-cli_19.03.8~3-0~ubuntu-bionic_amd64.deb 、containerd.io_1.2.6-3_amd64.deb 、docker-ce_19.03.8~3-0~ubuntu-bionic_amd64.deb
三个软件包,并依次安装。安装完成后就可以输入docker命令检查是否安装成功。
开始使用Docker
执行
docker pull nginx
从网上下载nginx的镜像。完成后可通过
docker images
查看本地已经有的镜像。关闭ubuntu防火墙:
sudo ufw disable
。新建
/root/html
文件夹,并将html代码放进去,后续启动容器之后会映射这个目录内容到nginx镜像里去(经验证,无论是容器启动前放入宿主机/root/html
的文件还是容器启动后再放入/root/html
的文件都能被使用到,所以在实际使用过程中代码是可以随时替换的。而且/root/html
文件夹也不一定要提前创建好,如果没有提前创建它会自己创建,容器销毁后也不会删除这个目录。/root/html
目录的指定必须要是绝对路径不能是相对路径)。以只读模式在80端口启动一个叫some-nginx的容器,映射宿主机/root/html为放置代码的目录,映射宿主机/root/log为nginx产生的日志放置目录,执行:
docker run --name some-nginx -v /root/html:/usr/share/nginx/html:ro -v /root/log:/var/log/nginx -d -p 80:80 nginx
(/root/html是宿主机路径,/usr/share/nginx/html是docker中的路径,从代码目录和日志目录可以看出,这种共享目录的方式容器内外共用的实际是同一个文件,所以能随时读入也能随时写出)通过浏览器访问:
http://host-ip/index.html
即可访问到内容。删除镜像删除容器
查看正在运行的容器:
docker ps
查看所有的容器:docker ps -all
可以找到容器的id。 查看镜像的Id:docker images
,可以找到镜像的id停止容器:
docker stop 容器id
删除容器:docker rm 容器Id
删除镜像:docker rmi 镜像Id
参考: https://blog.csdn.net/dantesite/article/details/86157787