提要:

本文是关于docker的专题讨论,作者用一组文档尽可能保证完整地阐述Docker到底是啥?如何使用?docker的使用范围等。相关的其它文章是:

Docker知识1:Docker-hub简介

Docker知识2:安装docker-desktop

Docker知识3:Docker的体系简介

Docker知识4:如何在win10下安装 / 使用ubuntu ?应用WSL2

1 安装docker

因为wsl2已经完整使用了linux内核了,此种方式和先前在linux安装docker类似,步骤如下:

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ sudo service docker start

执行脚本安装过程中,脚本提示“建议使用Docker Desktop for windows”,20s内按Ctrl+C会退出安装,所以需要等待20s,另外此种方式需要访问外网。

2 检查docker安装正常

# 检查dockerd进程启动
sudo service docker status
sudo ps aux|grep docker
# 检查拉取镜像等正常
sudo docker pull busybox
sudo docker images

注意:不同于完全linux虚拟机方式,WLS2下通过apt install docker-ce命令安装的docker无法启动,因为WSL2方式的ubuntu里面没有systemd。上述官方get-docker.sh安装的docker,dockerd进程是用ubuntu传统的init方式而非systemd启动的。

3 docker服务的systemd指令和sysvinit指令

wsl2 没有systemd指令,而是sysvinit指令,双方对照表为:

Systemd 命令 Sysvinit 命令
systemctl start service_name service  service_name start
systemctl stop service_name service  service_name stop
systemctl restart service_name service  service_name restart
systemctl status service_name service  service_name status
systemctl enable service_name chkconfig service_name on
systemctl disnable service_name chkconfig service_name off

4 常用几个操作语句

  • 打开ubuntu后常规语句是

sudo service docker start

该语句启动了Docker-engine.

  • 接着登录远程的Docker-Hub

sudo docker login

  • 查看Docker-hub上有啥新鲜镜像,比如,我要一个tensorflow的模块。

sudo search tensorflow

显示docker-hub上大量的tensorflow镜像。

  • 随便拉一个下来( 比如 下面三个 )

sudo docker pull tensorflow/tensorflow:latist

sudo docker pull tensorflow/tensorflow:1.9.0-d

sudo docker pull theshadowx/qt5

  • 查看是否已经被下载到本地

sudo docker images

  • 启动一个容器

sudo docker run -it -p 7777:7777 --name tf-1.99 tensorflow/tensorflow:1.9.0-devel-py3

注意:1)启动容器后面的参数“tensorflow/tensorflow:1.9.0-devel-py3”是个镜像

2)将端口换换(将7777:7777换成8888:8888) 重复此语句,将出现两个相同容器,端口不通。

  • 查看启动后容器

sudo docker ps

  • 查看所有容器

sudo docker ps -a

  • 进入容器内部

法1 : sudo docker exec -it  62e188e9e750 /bin/bash

法2 : sudo docker exec -it  tf-1.9  /bin/bash

注意,此句中的 62e188e9e750是通过,sudo docker ps -a查看到的容器ID号。tf-1.9是通过sudo docker ps -a查看到的容器名称。执行失败多是因为 没加 /bin/bash

  • 从容器中退出

exit

  • 查看容器的整长度ID号

sudo docker ps --no-trunc -a

  • 删除某些容器

sudo docker container prune

  • 删除本地image镜像

sudo docker rmi  image-name

5 文件交换

我们存在这样的问题,已经跑好的Win10项目,如何移植到WSL2下的ubuntu内部的container中去,因此需要子啊列操作:将做好的项目存放在Win10下某个盘,我这里存到e:盘根目录。

sudo  cp -r /mnt/e/MNIST_test    /home/huatec
这就将整个项目(在e:/MNIST_test下)全部挪到WSL2的ubuntu中了。

然后,再将此项目移植到container中。

sudo docker ps --no-trunc

显示container的ID全称

sudo docker cp /home/huatec/MNIST_test  62e188e9e7509f520cd7609f04c9c522c634b5bf9238b43eb23433e7081fe092:/home

这样将全部的项目导入在运行的container内部。

docker知识5:在WSL2的ubuntu20.04环境安装使用docker相关推荐

  1. 在ubuntu20.04环境安装noetic ROS

    1.设置软件源 配置如图软件源 2.配置源 2.1 添加源 sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_re ...

  2. Docker知识6:实战!将一个tensorflow项目制作成Docker image

    提要: 这里完成一个完整的docker项目,并且将其推送到Docker-hub中. docker知识5:在WSL2的ubuntu20.04环境安装使用docker 第一步 登录hub并建立仓库 如果d ...

  3. 最新 Ubuntu20.04 配置安装 | 虚拟机配置及各类软件安装(wps,pycharm, mysql,docker等)

    * Ubuntu20.04配置安装 前言 一.使用VMware安装Ubuntu20.04 以及下载软件包 1. 下载镜像 与各类软件包 2. 创建虚拟机 1. 创建新的空白虚拟机 2. 安装Ubunt ...

  4. linux ubuntu 安装git服务器,[linux] Ubuntu20.04上安装搭建私有Git服务器Gitea

    [linux] Ubuntu20.04上安装搭建私有Git服务器Gitea [linux] Ubuntu20.04上安装搭建私有Git服务器Gitea Gitea 是相比于gitlab更加轻量化,而且 ...

  5. Ubuntu20.04上安装部署Elasticsearch

    一.背景 在我们开发ElasticSearch相关功能的时候,想要本机部署一个ElasticSearch服务.想采用apt-get install 的方式来安装.本文在Ubuntu20.04上安装部署 ...

  6. ROS入门-4.安装ROS系统(ubuntu20.04版本安装ros的noetic版本)

    ubuntu20.04版本安装ros的noetic版本 1.添加软件源 2.添加密钥 3.更新 4.安装ROS 5.初始化rosdep 6.设置环境变量 7.测试ROS安装是否成功 1.添加软件源 2 ...

  7. ubuntu20.04离线安装python2.7.17

    ubuntu20.04离线安装python2.7.17 https://download.csdn.net/download/weixin_42736510/18405532?spm=1001.201 ...

  8. ubuntu20.04 noetic 安装 Astra Pro 驱动

    ubuntu20.04 noetic 安装 Astra Pro 驱动 拿到了一个 Orbbec Astro Pro 的摄像头,具体型号为: LeTMC301 在ubuntu中安装了相应的驱动 参考: ...

  9. ubuntu20.04下安装qq和微信(最新)

    ubuntu20.04下安装qq和微信(最新) 在ubuntu(debian系列)下安装软件,一般可以通过这两种简单的方式: sudo apt install 软件包 或者 sudo dpkg -ℹ ...

最新文章

  1. 电子邮件成企业主动营销的首选工具
  2. 【Linux 内核】宏内核与微内核架构 ( 操作系统需要满足的要素 | 宏内核 | 微内核 | Linux 内核动态加载机制 )
  3. 怎样当一个好的面试官
  4. 原代脂肪细胞提取的准备内容
  5. 世上最伟大的十个公式,质能方程排名第五
  6. MySQL安装之没有配置向导
  7. 运行差分灰狼时出现 关于“索引超出数组元素的数目(0)和矩阵维度问题以及图例的问题”的解决办法
  8. tensorflow3
  9. Redis基础(十三)——Jedis和Linux
  10. 如何将Linux还原为win10,技术编辑为你解说win10系统Linux Bash命令的还原步骤
  11. 南阳理工ACM 题目24 素数距离问题
  12. 还不知道IEEE、ACM、SCI、EI、nature、期刊、会议论文之间的关系?一幅关系图搞定~
  13. [paper] Meta-Learner LSTM
  14. AI经典书单:入门人工智能该读哪些书?
  15. Android Studio将html5网址封装成APP
  16. 官方出品!手把手教你在华为HMS平台开发App
  17. ps更换证件照底色(视频版)
  18. Mac OS X 背后的故事(三)Mach之父Avie Tevanian 1
  19. C++用字符串组成心形图案的尝试
  20. 名帖101 赵孟頫 小楷《采神图跋册页》

热门文章

  1. PYTHON * 和**的用法
  2. pi节点虚拟服务器怎么弄,pi怎么用云服务器做节点
  3. mysql查看比较大的数据表_mysql 如何查看哪些表数据量比较大
  4. 【LeetCode从零单排】No.9 Palindrome Number
  5. 云计算大会有感—MapReduce和UDF
  6. android开发--翻转闹铃(从制作到打包)
  7. 从 ELK 到 EFK 演进
  8. Docker说了这么多 最全的一篇在这里
  9. jgroup 概述--官方文档
  10. 【思维训练】刺激战场极寒模式下带妹吃鸡的【兵法思维】和【统计学思维】