常用命令
可以访问
https://hub.docker.com/镜像仓库寻找镜像。
拉取镜像
docker pull nginx # 最新版本
docker pull nginx:1.20.1 # 指定版本
# 下载的镜像都保存在本地。可以查询到镜像的tag、image id、size等信息
docker images
docker rmi nginx # 删除镜像,参数需要是镜像名:镜像版本号/镜像id
启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# 当前正在运行的应用容器信息
docker ps
# 显示所有的容器
docker ps -a
# -d:后台运行
# --name=xx 自定义名称
# --restart=always 开机自启动
# 返回的序列号其实就是containerID
docker run --name=mynginx -d --restart=always nginx
# 镜像name不能重复
docker rm containerID/name # 删除应用容器,可以使用-f强制删除
docker stop containerID/name # 停止应用
docker start containerID/name # 启动应用
docker update containerID/name --restart=always # 使用update更新配置项,但是无法修改端口配置
目前nginx在云容器的80端口工作,无法通过公网ip访问,但是可以使用docker进行端口映射。docker run --name=mynginx -p 88:80 nginx。
docker从镜像仓库拉取nginx镜像,使用docker run可以运行nginx应用,也可以使用exec进入应用配置。
修改容器应用
docker exec -it containerID/name /bin/bash # 进入容器应用的/bin/bash目录
exit # 离开应用
# 挂载数据
docker run --name=mynginx -d -p 88:80 \
-v /data/html:/usr/share/nginx/html:ro \
nginx
# 把nginx应用的/usr/share/nginx/html文件挂载到云容器的/data/html文件,权限设置为只读模式,表示容器内部不能修改。此时修改外部文件其实就是修改内部文件
需要注意:挂载中设置的参数文件需要已存在
docker cp containerID/name:/etc/nginx/nginx.conf /data/conf/nginx.conf # 复制应用中指定位置的文件到容器文件中,容器文件和镜像文件可以互相复制
提交镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] #提交到本地仓库,提交后本地仓库命名repository:tag(类似git)
[OPTIONS]
-a author
-m commit message
docker save [OPTIONS] IMAGE [IMAGE...]
[OPTIONS]
-o 后接文件名,如abc.tar,把镜像保存成压缩实体文件,方便传输
docker load -i abc.tar 加载接收的镜像文件
将镜像推送到远程仓库需要先在docker hub创建对应的repository
docker tag local-image:tagname new-repo:tagname #将本地镜像名称改成远程镜像名称
docker login # 登陆docker hub
docker push new-repo:tagname # 将镜像推送到远程仓库
docker logout
常用命令
docker logs containerID/name # 查看镜像日志
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 21 天,点击查看活动详情