3.0docker操作
登录镜像资源
docker login : 登陆到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
配置 Docker 加速器
重启Docker
配置完之后执行下面的命令,以使docker的配置文件生效
sudo systemctl daemon-reload
sudo service docker restart
交互启动容器
自定义容器名:
重新启动停止的容器
删除停止的容器
守护式容器
进入正在运行的守护容器
启动守护式容器
查看容器内的日志:
查看容器内进程
在运行中的容器内启动新进程
停止守护式容器
删除镜像文件:
容器端口映射:
docker容器中安装软件
root@f9e3e466599d:/# apt-get install -y ping Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package ping ## 执行更新命令才能安装软件 root@f9e3e466599d:/# apt-get update
安装 nginx
apt-get install -y nginx
安装 vim
apt-get install -y vim
查看nginx安装位置
whereis nginx
查看nginx 目录
ls /etc/nginx/
进入nginx 静态网站目录
/etc/nginx/sites-enabled/
创建静态网站目录和页面
mkdir -p /var/www/html 创建index.html 页面
编辑 nginx 配置,设置静态网站目录
vim /etc/nginx/sites-enabled/default
docker ps 查看正在运行的容器,包括端口信息
也可以
docker port web
也可以 查看容器中的进程相关信息
docker top web
验证nginx 页面
[root@www ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f9e3e466599d docker.io/ubuntu "/bin/bash" 32 minutes ago Up 32 minutes 0.0.0.0:32768->80/tcp web 访问宿主机的 32768端口,即可映射到容器中的 80端口上,也就是访问到nginx上
访问 nginx中的页面
[root@www ~]# curl -v http://127.0.0.1:32768/index.html
也可以通过宿主机的浏览器来访问
ifconfig 查看宿主机ip
http://192.168.75.132:32768/index.html 这样才可以访问到nginx 上啦
也可以访问容器的ip地址来访问nginx
查看容器的ip地址
docker inspect web
[root@www ~]# curl -v http://172.17.0.2 默认就是80端口
当关闭容器时,再启动容器,nginx 是关闭状态的
关闭容器
docker stop web
启动容器
docker start -i web
容器转为后台运行 ctrl+p ctrl+q
查看容器进程
docker top web nginx 没在后台运行
在后台运行的容器中启动 nginx
docker exec web nginx 启动后台运行容器的 nginx ,也就是对后台容器开启新进程
当一个容器关闭后,再启动时,ip地 和宿主机的端口映射 可能会发生改变
systemctl替代了service命令
从一个正在运行的 Nginx 容器中复制出配置文件
docker cp some-nginx:/etc/nginx/nginx.conf /some/nginx.conf
您也可以通过推荐的Dockerfile
方式来生成一个包含自定义配置文件的镜像,如下所示:
FROM daocloud.io/nginx
COPY nginx.conf /etc/nginx/nginx.conf