目录
1. 参考资料
https://blog.csdn.net/qq_27068845/article/details/77015432
https://www.cnblogs.com/sunshine-2015/p/6384471.html
https://www.docker.org.cn/book/docker/docer-save-changes-10.html
https://stackoverflow.com/questions/22907231/how-to-copy-files-from-host-to-docker-container
2. 下载Docker安装程序,确认Hyper-V已经开启
https://docs.docker.com/docker-for-windows/install/
3. 在PowerShell运行docker version确认是否安装成功

若不成功则重启操作系统后重试
4. 安装Ubuntu
在PowerShell运行docker run -it ubuntu命令,输出以下信息表示安装成功
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
54ee1f796a1e: Pull complete
f7bfea53ad12: Pull complete
46d371e02073: Pull complete
b66c17bbf772: Pull complete
Digest: sha256:31dfb10d52ce76c5ca0aa19d10b3e6424b830729e32a89a7c6eee2cda2be67a5
Status: Downloaded newer image for ubuntu:latest
5. 在PowerShell运行docker images查看image
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 4e2eef94cd6b 16 hours ago 73.9MB
6. 在PowerShell启动ubuntu
- 运行
docker run -it --privileged=true -p 10022:22 ubuntu命令进入ubuntu系统(注:可使用--name自定义名称) - 运行
lsb_release -a确认系统(注:若lsb_release命令不存在则可使用cat /etc/issue)
![]()
7. 安装工具
依次运行以下命令
apt-get update
apt-get install vim
apt-get install openssh-server
8. 创建私钥,添加内容后修改权限

运行ssh -i ~/aws/key {ec2.user}@{ec2.id.address}连接EC2
9. Docker image
9.1 保存
- 在PowerShell运行
docker ps -l查看Container
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2e48d1d6cd44 2cdf64bb985d "/bin/bash" 21 minutes ago Up 21 minutes 0.0.0.0:10022->22/tcp ecstatic_nash
- 在PowerShell运行
docker commit {CONTAINER ID} {image.name}(例如docker commit 2e48d1d6cd44 test/ubuntu) - 在PowerShell运行
docker images查看image
REPOSITORY TAG IMAGE ID CREATED SIZE
test/ubuntu latest 38416deebfd4 52 seconds ago 263MB
ubuntu latest 4e2eef94cd6b 16 hours ago 73.9MB
9.2 删除
- 在PowerShell运行
docker images查看image - 在PowerShell运行
docker image rm {IMAGE ID}或docker image rm {REPOSITORY}删除对应的docker image
10. 关闭docker进程
- 关闭特定进程:在PowerShell运行
docker kill {CONTAINER ID} - 关闭所有:在PowerShell运行
docker stop $(docker ps -a -q)命令
11. Docker container
11.1 重启已经关闭的container并打开bash
docker container ls -a找到container信息docker start {CONTAINER ID}或者docker start {NAMES}启动docker exec -it {CONTAINER ID} bash或者docker exec -it {NAMES} bash打开容器终端
11.2 删除container
docker container ls -a找到container信息docker rm {CONTAINER ID}或docker rm {NAMES}删除对应的container
12. 容器与主机文件互传
- 启动容器(例如
docker run -it --privileged=true -p 10022:22 test/ubuntu) - 查看正在运行的container id
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7bc4886a6824 test/ubuntu "/bin/bash" 13 seconds ago Up 12 seconds 0.0.0.0:10022->22/tcp mystifying_panini
- 主机->容器
docker cp {source.file.path} {CONTAINER ID}:{target.file.path}(例如docker cp .\key 7bc4886a6824:/tmp) - 容器->主机
docker cp {CONTAINER ID}:{source.file.path} {target.file.path}(例如docker cp 7bc4886a6824:/tmp/key ~\Desktop)
13. 挂载主机文件夹
- 启动容器时使用
-v {host.path}:{container.path}参数
例如
PS C:\docker> docker run -it --privileged=true -p 10032:22 --name test-terraform -v /c/my-notes:/tmp/my-notes test/ubuntu
root@666666666666:/# cd /tmp/my-notes/
root@666666666666:/tmp/my-notes# ls
aws github ide vpn
这时已经可以在容器内读写该文件夹中的内容
14. 查看docker日志
docker ps找到container信息docker logs {CONTAINER ID}或docker logs {NAMES}查看container日志

posted on
浙公网安备 33010602011771号