一、基础操作:
1docker search 镜像名 查询镜像
2 docker images 查看镜像信息列表 镜像是静态的
3 docker ps -a 查看运行中的所有容器
4 docker pull [images]:[version]从dockerhub拉取指定镜像
5 docker run -p 8000:80 -tdi –privileged [imageID] [command] 后台启动docker,并指定宿主机端口和docker映射端口。
-i:以交互模式运行容器,通常与 -t 同时使用;
-d:后台运行容器,并返回容器ID;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–privileged 容器将拥有访问主机所有设备的权限
6 当镜像通过run 启动后,便会载入到一个动态的container(容器)中运行,此时若需要进入终端交互模式:
sudo docker exec -it [containerID] /bin/bash
交互模式中,使用 ctrl+p+q退出交互 保持运行,使用 exit命令退出并停止容器。
7 在容器非交互模式下,通过docker start/stop 命令来启动/停止已部署的容器服务。
8 docker rm [containerID] 删除容器
9 docker rmi [imageID] 删除镜像
10 docker cp [YourHostFilePath] [containerID]:[DockerPath] 将宿主机内的指定文件传输至容器内部的指定地址。
镜像制作:
1 docker commit [containerID] [ImageName]:[Version] 将修改后的容器重新打包成镜像
2 docker commit -a “runoob.com” -m “my apache” a404c6c174a2 mymysql:v1 将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
3 docker push [ImageID] [repertory_address]提交镜像到云仓库
二、docker 运行、查看
查看运行容器 docker ps
查看所有容器 docker ps -a
进入容器 其中字符串为容器ID:
docker exec -it d27bd3008ad9 /bin/bash
1.停用全部运行中的容器: docker stop $(docker ps -q)
2.删除全部容器: docker rm $(docker ps -aq)
3.一条命令实现停用并删除容器: docker stop $(docker ps -q) & docker rm $(docker ps -aq)
二、示例:使用docker启动nginx服务
1,安装、启动docker
[root@localhost ~]# yum -y install docker
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl status docker
2、查找、下载nginx
[root@localhost ~]# docker search nginx # 查找
[root@localhost ~]# docker pull docker.io/nginx # 下载相应的nginx镜像到本地仓库
[root@localhost ~]# docker images # 查看本地仓库
3、启动nginx
[root@localhost ~]# docker run --name nginx -p 80:80 -d nginx
8abfc56d39243f289317bfa3b37fdf5e1460fb9a01ad4125751b91a836c08618
# 这里nginx就已经启动了,如果要修改配置文件则需要进入容器内
[root@localhost ~]# docker exec -it nginx bash
# nginx.conf配置文件在/etc/nginx/下,但是容器内无法使用vi/vim,解决办法如下
[root@localhost ~]# apt-get update
[root@localhost ~]# apt-get install vim
# 安装完成后即可使用vim进行编辑,修改完成之后重启容器即可。
[root@localhost ~]# docker ps # 查看当前运行的容器
[root@localhost ~]# docker stop nginx
[root@localhost ~]# docker start nginx
4、映射文件到容器
由于前往容器内更改配置文件,难免觉得麻烦,我们可以把准备好的配置文件映射到启动的容器中的方式,这样做需要提前准备好相应的配置文件,如nginx.conf
[root@localhost ~]# docker run –name nginx -p 80:80 -v /root/nginx/nginx.conf:/etc/nginx/nginx.conf
发表回复