docker-ubuntu镜像,nginx镜像

docker 是将程序与机器隔开,使程序不受环境影响。

安装 sudo apt-get install docker.io

 ## 好用的一些命令

1.停用全部运行中的容器:
docker stop $(docker ps -q)
1
2.删除全部容器:
docker rm $(docker ps -aq)
1
3.一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
4.删除镜像
docker rm 镜像 -f # -f :停止运行的容器

把当前用户添加到docker组

sudo usermod -aG docker $USER   # $USER 指当前用户

reboot  # 重启

ps: 重启后我丢失了当前用户的权限,/etc/sudoers  被清空。

解决: su root  vim /etc/sudoers 

 

在切回 username用户,就好了

### 下载ubuntu镜像

 sudo docker pull ubuntu:14.04  

# 完成后,即可随时使用该镜像了,例如创建一个容器,让其中运行 bash 应用

-i : 可以输入命令, -t: 分配一个伪终端

sudo docker run -t -i ubuntu /bin/bash

 exit   退出

# docker commit 命令来提交更新后的副本

docker commit -m "docker test" -a "by comi" 5ff1667369b6 comi_test_docker:v2

创建成功后会返回这个镜像的 ID 信息

sha256:9c50c19359b7e2d304f0fc80f0e9757983a91b1d647a44c28f34e098deb6917b

-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。

# 通过docker images 可以查看新建立的镜像

# 通过新建立的镜像comi_test_docker启动容器

# 导出镜像到本地文件,使用 docker save 命令

 docker save -o ubuntu.tar ubuntu 导出ubuntu镜像到本地

# 本地文件再导入镜像 docker load

sudo docker load --input ubuntu.tar

sudo docker load < ubuntu.tar 这将导入镜像以及其相关的元数据信息(包括标签等)

 # 删除镜像

  需要删除该镜像的容器  查看所有的容器: docker ps -a

 

  删除comi_test_docker建立的容器,通过id删除: docker rm  e2c32ad8d2d7

  再删除comi_test_docker镜像,通过docker images查看id:    docker rmi id 

### 下载nginx镜像

docker pull nginx

docker images

# 启动nginx服务,需要映射端口  -d 在后台运行 -p 80:80 , -d -p顺序不能错

docker run -p 80:80 nginx  # 端口被占用,什么情况

docker run -d -p 8000:80  # 启动将本机端口映射到容器端口, 可以不指定后台

docker logs nginx容器id  # 处于后台时,通过logs查看日志

docker run -it -d  ubuntu:14:04  # -it进入交互模式 -d后台运行,加上-d是为了测试exec命令进入后台容器

docker exec -it bb9a74a5924a bash  # -it 指定交互模式, 容器id 指定shell

原文地址:https://www.cnblogs.com/tangpg/p/9145656.html