wget -qO- https://get.docker.com/ | sh
# 或者 apt install docker.io
docker --version
docker system info
如果遇到permission的问题,则将当前用户添加到用户组,并且之后要记得重新登录(注销当前用户)
$ sudo groupadd docker #创建docker用户组
$ sudo usermod -aG docker ${USER} #将当前用户加入docker用户组
$ sudo systemctl restart docker #重启docker服务
$ su root #切换到root用户,或注销再登录当前用户
$ su ${USER} #再切换到原来的应用用户以上配置才生效
docker search xxx //从docker hub查询xxx镜像
docker image pull xxx //安装xxx镜像
docker container run xxx [cmd] //启动一个xxx容器,并在其中运行cmd命令
# 或者 docker run -it [image] [cmd]
docker images #查看当前docker客户端有哪些images
删除则是加上rm参数,不过多记录了
一些命令可以参考 [这里](https://www.cnblogs.com/xiadongqing/p/6144053.html)
善用help
docker run -p [port in container]:[port in physical system] -d [image] [command] #端口映射
docker ps #类似于linux ps命令,查看在运行的container信息,-a 则是查看所有
docker stop [container] #停止container
docker kill [container] #同上,强制杀死
docker start/restart [container] #启动/重启container
如果需要将一个应用容器化,则需要有一个Dockerfile来描述镜像的构建过程。
运行以下命令则可以读取Dockerfile,并将应用容器化
docker build -t [image-name] . #要注意这里最后有一个点
# -t代表终端
# -i代表交互式命令
例如,以下
$ cat Dockerfile
FROM alpine
LABEL maintainer="nigelpoulton@hotmail.com"
RUN apk add --update nodejs nodejs-npm
COPY . /src
WORKDIR /src
RUN npm install
EXPOSE 8080
ENTRYPOINT ["node", "./app.js"]
镜像是一层一层构建的,一般新构建的镜像可以基于另外一个镜像上构建,比如上述例子,其镜像则基于alpine镜像构建。
在执行build时,按照顺序执行
基于以上,可以把一些项目打包成一个镜像,做到即开即用了。
在非web项目中,能不能用到docker呢?比如Android底层开发?
详细:[这里](https://jf.ssjinyao.com/2020/03/31/Docker%E5%85%B1%E4%BA%AB%E5%AD%98%E5%82%A8-%E5%85%B1%E4%BA%AB%E6%95%B0%E6%8D%AE/)
#在eis容器中,将本地的eisdebugsite挂在到/www下
docker container run -d -p 8080:8080 --name eisweb --volume /home/mi/project/eisdebugsite/:/www eis
原文:https://www.cnblogs.com/jerry323/p/12727791.html