目錄:
- 1.拉取Ubuntu鏡像并啟動Docker容器
- 2.進入容器摘刑,安裝一些必要的軟件:sudo志鞍、vim鼓蜒、wget坝橡、ssh等
- 3.遠程連接Docker容器
- 4.鏡像拷貝
1.拉取Ubuntu鏡像并啟動Docker容器
首先泻帮,從DockerHub上拉取一個ubuntu鏡像:docker pull ubuntu:18.04
然后,啟動容器:docker run -itd -p 50001:22 ubuntu:18.04
(-p: 指定端口映射计寇,格式為:主機(宿主)端口:容器端口锣杂。這樣,當(dāng)我們訪問宿主機的50001端口時番宁,自動映射到當(dāng)前容器的22端口元莫。)
啟動成功,使用 docker ps
查看正在運行的容器蝶押,如下圖:
2.進入容器踱蠢,安裝一些必要的軟件
進入容器:docker exec -it 7338ded2d7e6 /bin/bash
掃描軟件源服務(wù)器,建立更新軟件包列表:apt-get update
安裝sudo:apt-get install sudo
設(shè)置root賬號的密碼:sudo passwd root
安裝vim:apt-get install vim
安裝wget(使用VSCode連接容器時需要):apt-get install wget
安裝ssh:apt-get install openssh-server
查看ssh服務(wù)啟動情況:service ssh status
啟動ssh服務(wù):service ssh start
ssh默認是禁止root賬號遠程登錄棋电,可修改ssh配置文件進行設(shè)置茎截。
ssh允許root賬號遠程登錄:vim /etc/ssh/sshd_config
添加一行:PermitRootLogin yes
重啟ssh服務(wù):service ssh restart
每次重啟容器后赶盔,都要手動啟動ssh服務(wù)企锌,這樣太繁瑣了。
通過添加啟動命令到/root/.bashrc
文件中實現(xiàn)ssh自啟動于未。
修改配置:sudo vim /root/.bashrc
添加一行:/etc/init.d/ssh start 或 service ssh start
使修改的配置生效:source /root/.bashrc
至此撕攒,基本環(huán)境已安裝和配置完畢。
使用docker commit
命令將容器保存為鏡像沉眶,以備份當(dāng)前環(huán)境打却。
退出容器:exit
從容器創(chuàng)建一個新的鏡像:docker commit 7338ded2d7e6 lyf/ubuntu_ssh:18.04
保存鏡像成功,使用docker images
命令可看到新建的鏡像:
3.遠程連接Docker容器
3.1 宿主機(啟動容器的虛擬機)使用ssh命令連接容器:
命令:ssh root@0.0.0.0 -p 50001
3.2 遠程主機使用ssh命令連接容器:
命令:ssh root@192.168.43.42 -p 50001
3.3 使用VSCode遠程連接容器:
先在VSCode的"擴展"上搜索并安裝Remote - SSH谎倔,然后在"遠程資源管理器"的config配置文件中添加配置:
Host liyunfei_docker
HostName 192.168.43.42
Port 50001
User root
保存config文件后點擊connect to host
按鈕即可連接柳击。
4.鏡像拷貝
Docker的特點在于“一次構(gòu)建,到處運行”片习。它可以將環(huán)境及代碼保存為鏡像捌肴,將該鏡像拷貝到其他的主機上就可以實現(xiàn)環(huán)境的復(fù)用蹬叭。
實現(xiàn)鏡像拷貝的兩種方式:
- 1)通過
docker save
命令將指定鏡像保存成tar歸檔文件。
通過docker load
命令導(dǎo)入使用docker save
命令導(dǎo)出的鏡像状知。 - 2)通過
docker push
命令將指定鏡像推送到DockerHub鏡像倉庫上秽五。
通過docker pull
命令從DockerHub鏡像倉庫拉取指定的鏡像。
(DockerHub是公共的鏡像倉庫饥悴,有條件可以基于Harbor搭建一個私有的鏡像倉庫坦喘。)
第一種方式:docker save 和 docker load
將鏡像保存為tar文件,命令:docker save -o tar文件名 鏡像名
將tar文件拷貝到另一臺裝有Docker的主機上(使用FileZilla西设、XShell瓣铣、SecureCRT等工具,或者直接使用scp命令進行拷貝)贷揽。
導(dǎo)入鏡像:docker load -i tar文件名
第二種方式:docker push 和 docker pull
先到DockerHub官網(wǎng)上注冊一個賬號吧:https://registry.hub.docker.com/
登入DockerHub:docker login -u 用戶名 -p 密碼
標(biāo)記本地鏡像棠笑,將其歸入某一倉庫。
docker tag lyf/ubuntu_ssh_curl_gcc:18.04 lyf524951805/ubuntu_ssh_curl_gcc:18.04
push鏡像到DockerHub倉庫:
docker push lyf524951805/ubuntu_ssh_curl_gcc:18.04
登錄DockerHub賬號禽绪,可以看到鏡像已成功推動到倉庫中蓖救。
登出DockerHub:docker logout
在任何裝有Docker的主機上,執(zhí)行pull命令就可以拉取該鏡像:
docker pull lyf524951805/ubuntu_ssh_curl_gcc:18.04