1、docker-Engine安装(这里不用桌面版):“https://docs.docker.com/engine/install/ubuntu/” 安装后可使用“sudo docker run hello-world”命令测试
2、dockerHub换源:可以换成阿里源
3、将当前用户加入docker组,省去每次的sudo:(1)sudo groupadd docker; (2)sudo usermod -aG docker $USER (重启后生效)
4、docker流程:
4、主要对象:仓库repository,镜像image,镜像的版本标签TAG
5、dockerfile文件编写(类似于cmakelist):
(1)FROM:从dockerhub上下载镜像,如果镜像在本地,那就用本地的
(2)WORKDIR: 指定工作空间,dockerfile运行后,目标位置就是workdir了
(3)COPY:拷贝(两个参数,第一个参数是相对于dockerfile位置的,第二个参书是相对于workdir的)
(4)RUN:?
(5)EXPOSE:端口?
(6)CMD:命令?
6、docker常用命令: 首先要学会docker -h,然后看都有什么分支(例如build),然后再docker build -h查询build的用法,这样你就能自己探索了
(1)docker image ls 本地镜像列表【官方镜像下载网站:https://hub.docker.com/search?image_filter=official&q=】
(2)docker ps 查看当前运行的容器
(3)docker rm --force containerName 删除(正在running的)容器
(4)docker rmi imageName 删除镜像
(5)docker stop containerName 停止正在运行的容器
(6)docker tag name1:tag1 name2:tag2 对镜像文件进行重命名(貌似不是重命名,是再创建一个新的?)
(7)docker pull image:tag 从dockerHub中下载对应版本的镜像
(8)docker ps -l 查看当前运行的容器
(9)docker run -it ros:kinectic-ros-core 运行下载下来的镜像,然后运行他(it在这里是:creating an interactive bash shell in the container)
(10)
7、进入虚拟终端(-it/ssh/shell)后的无图形界面操作技巧:
(1)末尾 &:表示任务在后台进行
(2)jobs -l:查看所有后台运行程序
(3)对于一个正在运行的程序,使用ctrl+z可以将它暂停,然后用bg %num把这个程序放到后台继续运行
(4)fg %num:将后台运行的程序调到前台运行
(5)kill %num:杀掉某个程序,kill pid也可以杀掉它
(6)nohup:可以使程序始终在后台执行,即使终端关闭也继续运行,不建议新手使用
(7)ps:显示当前运行的终端命令(和jobs -l相似,只不过一个给的是jobnum,一个给的是pid)(注意区分:docker ps -l 是查看当前运行的容器列表)
(8)exit:推出当前虚拟终端
1021 ls
1022 cd putn/
1023 cd ..
1024 cd Practical_Homework_for_slambook14/
1025 ls
1026 git states
1027 git status
1028 git branch -a
1029 git checkout -b dev1
1030 git branch
1031 ls
1032 vim README.md
1033 gedit README.md
1034 git add .
1035 git commit -m "nihao"
1036 git push
1037 git push --set-upstream origin dev1
1038 ls
1039 git branch -d
1040 git branch -d dev1
1041 git checkout main
1042 ls
1043 git branch -d dev1
1044 ls
1045 git add .
1046 git commit -m "default"
1047 gedit README.md
1048 git add .
1049 git commit -m "default"
1050 git push origin --delete dev1
1051 code .
1052 history