工作中Docker使用命令笔记
docker安裝與啟動(dòng)
安裝docker
[root@localhost /]# yum -y install docker-io
更改配置文件
[root@localhost /]# vi /etc/sysconfig/docker
other-args列更改為:other_args="--exec-driver=lxc --selinux-enabled"
啟動(dòng)docker服務(wù)
[root@localhost /]# service docker start
重啟docker
service docker restart
Starting cgconfig service: [ OK ]
Starting docker: [ OK ]
將docker加入開機(jī)啟動(dòng)
[root@localhost /]# chkconfig docker on
基本信息查看
docker version:查看docker的版本號(hào),包括客戶端、服務(wù)端、依賴的Go等
[root@localhost /]# docker version
Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.2
Git commit (client): 63fe64c/1.0.0
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.2
Git commit (server): 63fe64c/1.0.0
1、進(jìn)入容器命令:
sudo docker exec -ti 64134af51c2b /bin/sh
其中64134af51c2b表示要進(jìn)入的容器名稱
2、退出容器:exit
3、查看日志文件:tail -f xxx.log
ssh ubuntu@172.16.200.59
啟動(dòng)docker :service docker start
docker下載的鏡像存放地址:一般都是在/var/lib/docker/devicemapper/mnt目錄下
docker鏡像文件的導(dǎo)出導(dǎo)入:
可聯(lián)網(wǎng)的虛擬機(jī)中先獲取registry鏡像,然后導(dǎo)出tar格式的鏡像文件。
docker save registry > /tmp/registry.tar
在目標(biāo)虛擬機(jī)中導(dǎo)入tar格式的鏡像文件。
docker load <registry.tar
然后通過docker images 命令即可查看導(dǎo)進(jìn)來的鏡像文件了。
啟動(dòng)容器:docker run IMAGE ID
通過docker ps -a 查看所有正在運(yùn)行的容器
sudo docker run -i -t ubuntu /bin/bash
這條命令的含義:
首先,我們告訴 Docker 執(zhí)行 docker run 這條命令,并且?guī)?-i -t 這兩個(gè)參數(shù)。
-i 標(biāo)志保證容器中 STDIN 是開啟的,雖然并沒有附著在容器中;
-t 標(biāo)志要為新創(chuàng)建的容器分配一個(gè)偽 tty 終端,這樣我們就能在新創(chuàng)建容器中使用 交互式 shell ;
接下來,我們告訴 Docker 基于什么鏡像來創(chuàng)建容器,實(shí)例中使用的是 ubuntu 鏡像。
隨后, Docker 在文件系統(tǒng)內(nèi)部用這個(gè)鏡像創(chuàng)建了一個(gè)容器,該容器有著自己的網(wǎng)絡(luò)、IP地址以及和宿主主機(jī)用來通信的橋接網(wǎng)絡(luò)接口。
最后,在新創(chuàng)建的容器中運(yùn)行 /bin/bash 命令啟動(dòng)了一個(gè) Bash shell.
這樣,容器創(chuàng)建完畢后,我們就可以看到容器中啟動(dòng)了shell .
docker 移除一個(gè)容器;
第一步:先停止該容器:docker stop 79072778a521
第二步:移除該容器: docker rm 79072778a521
進(jìn)入容器的方法:1、attach ;3、exec
首先不管采用那種方式,必須先起一個(gè)容器:創(chuàng)建一個(gè)守護(hù)態(tài)的Docker容器
sudo docker run -itd ubuntu:14.04 /bin/bash
使用docker ps -a 命令查看容器的id 44fc0f0582d9
1、attach方法:
sudo docker attach 44fc0f0582d9
然后從[root@localhost /]變成了[root@44fc0f0582d9 /],這就說明進(jìn)入了44fc0f0582d9容器
進(jìn)入容器后,輸入ls命令,列出所有的文件夾,跟我們常用的系統(tǒng)一模一樣:
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
退出容器exit,這樣又變成了[root@localhost /]
2、使用exec:
sudo docker exec -it 44fc0f0582d9 /bin/bash
如果進(jìn)入容器報(bào)錯(cuò)說容器沒有啟動(dòng),需要先啟動(dòng),可以使用docker restart 44fc0f0582d9命令將44fc0f0582d9容器重啟下,然后再使用進(jìn)入容器命令。
//
基于ubuntu基礎(chǔ)鏡像創(chuàng)建一個(gè)nginx鏡像
1、首先進(jìn)入ubuntu容器中,然后在該容器中創(chuàng)建一個(gè)nginx目錄
ubuntu@ubuntu:~$ mkdir nginx #創(chuàng)建nginx目錄
ubuntu@ubuntu:~$ cd nginx #進(jìn)入目錄
ubuntu@ubuntu:~/nginx$ touch Dockerfile 執(zhí)行Dockerfile文件
Dockerfile文件:
FROM ubuntu:14.04
MAINTAINER Reed "reed@example.com"
RUN apt-get update
RUN apt-get -y -q install nginx
RUN mkdir -p /var/www/html
ADD global.conf /etc/nginx/conf.d/
ADD nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
對(duì)上面Dockerfile文件做一個(gè)解釋:
FROM 指定基礎(chǔ)鏡像,我們制做的鏡像是在Ubuntu:14.04的基礎(chǔ)上生成的。
MAINTAINER 鏡像制作人的信息
RUN 指定創(chuàng)建鏡像時(shí)執(zhí)行的命令
ADD 將本地文件添加到鏡像中
EXPOSE 容器開放80端口
docker容器遷移:
docker exoprt 容器id >ubuntu_wrong.tar #ubuntu_wrong.tar 是你自己給容器起的一個(gè)英文名字,方便識(shí)別
du -sh ubuntu_wrong.tar
默認(rèn)是把ubuntu_wrong.tar拷貝到root根目錄下下的;
然后將該ubuntu_wrong.tar再拷貝到要遷移的服務(wù)器上。
然后通過下面的命令:
cat ubuntu_wrong.tar |sudo docker import - wr:latest
其中wr是自己起的一個(gè)名字。latest表示最新,也可以指定一個(gè)版本。
docker鏡像遷移遷入:
導(dǎo)出鏡像文件:
sudo docker save -o wrong-mysql.tar 114.113.1.101:6666/admin/commsrvmongodb:v3.4.82f5fd7
其中114.113.1.101:6666/admin/commsrvmongodb是鏡像的名稱
v3.4.82f5fd7是鏡像的版本
wrong-mysql.tar是遷移出來的名稱,到當(dāng)前路徑下。
導(dǎo)入鏡像文件:
sudo docker load -i wrong-mysql.tar
必須在wrong-mysql.tar路徑下面操作
?
修改docker 的配置文件:cat /etc/sysconfig/docker
將docker設(shè)為開機(jī)啟動(dòng):chkconfig docker on
宿主機(jī)和容器的文件相互復(fù)制
1、從docker中拷貝數(shù)據(jù)到宿主機(jī):
首先在宿主機(jī)上通過sudo docker ps | grep demo
查出demo的容器id:b2764cd71857
然后在宿主機(jī)上執(zhí)行下面命令:
docker cp containerId:/file/path/within/container /host/path/target
例如:
sudo docker cp b2764cd71857:/home/logs/rm-service/log/zip /home
2、從宿主機(jī)拷貝數(shù)據(jù)到docker中;
sudo docker cp /home/ubuntu/wr/pm-adaptor.jar f3a2a81eb929:/home/zenap/pm-adaptor/pm-adaptor.jar
轉(zhuǎn)載于:https://www.cnblogs.com/wrong5566/p/6531737.html
總結(jié)
以上是生活随笔為你收集整理的工作中Docker使用命令笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Fragment(优化布局)
- 下一篇: Go 语言基础(一)