# LearnDocker
**Repository Path**: jamieyy/LearnDocker
## Basic Information
- **Project Name**: LearnDocker
- **Description**: 这个项目是我学习Docker的一个记录
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-08-22
- **Last Updated**: 2021-11-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# LearnDocker
这个项目是我学习Docker的一个记录
docker就是一个工具,类似于虚拟机。但是比虚拟机减少了guestos层。
在linux中提供进程间的隔离。这样安全性不如虚拟机,但是效率高,适合有非常大IO开销的场合,比如数据库,web服务器等。
1、在Deepin 15.11中安装Docker
sudo apt-get install docker-ce
注意:所有操作最好都用超级用户,否则会提示权限问题。
2、设置启动
#systemctl enable docker
#systemctl start docker
3、更换镜像源:
#vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
#systemctl restart docker.service
4、下载镜像
#docker pull library/hello-world
5、运行hello-world镜像
#docker run hello-world
6、查看当前镜像列表
#docker images
7、查看docker版本
#docker version
8、docker镜像默认保存位置
/var/lib/docker/
进入containers,每一个序列号,都是一个镜像
9、运行交互式的容器
我们通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力
runoob@runoob:~$ docker run -i -t ubuntu:15.10 /bin/bash
10、查看正在运行的容器
#docker ps
11、删除不需要的容器
#docker rmi -f 3556258649b2
12、搜索镜像
#docker search ubuntu
13、查看容器所占空间、数据卷
#docker system df
14、运行nginx的镜像
run --name Mywebserver -d -p 8080:80 nginx //将80端口映射为主机的8080
15、容器内拷贝文件
docker cp hello.html c0462d5e1878://usr/share/nginx/html
16、获取一个正在运行容器的shell
docker exec -it c0462d5e1878 bash
17、通过主机目录映射到容器
docker run -p 80:80 -d -v $PWD/html:usr/share/nginx/html docker.io/nginx -v $PWD/html:usr/share/nginx/html
表示把当前路径下html目录映射为usr/share/nginx/html 也就是说主机下的html就是容器下的usr/share/nginx/html html内的文件修改和添加就等同于容器usr/share/nginx/html文件操作 外网访问就可以访问得到,就不用再登录容器操作文件了
18、停止docker
docker stop c0462d5e1878
19、容器内安装vim
apt-get update
apt-get install vim
apt install iputils-ping
apt install net-tools # ifconfig
20、导出容器快照到本地文件
$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7691a814370e ubuntu:14.04 "/bin/bash" 36 hours ago Exited (0) 21 hours ago test
$ sudo docker export 7691a814370e > ubuntu.tar
21、从容器快照文件中再导入为镜像
$ cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
test/ubuntu v1.0 9d37a6082e97 About a minute ago 171.3 MB
22、将镜像保存为压缩包文件
docker save nginx | gzip > nginx-latest.tar.gz
23、加载镜像
docker load -i nginx-latest.tar.gz
24、将镜像从一个主机迁移到另一个主机:
docker save hello-world | bzip2 | ssh root@10.140.1.120 "cat | docker load"